<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt; Class Template Reference</title>
<script type="text/javaScript" src="search/search.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3.0.1/es5/tex-mml-chtml.js"></script>
<script src="../../mlstyle.js"></script>
<link href="../css/besser.css" rel="stylesheet" type="text/css"/>
</head>
<!-- pretty cool: each body gets an id tag which is the basename of the web page  -->
<!--              and allows for page-specific CSS. this is client-side scripted, -->
<!--              so the id will not yet show up in the served source code -->
<script type="text/javascript">
    jQuery(document).ready(function () {
        var url = jQuery(location).attr('href');
        var pname = url.substr(url.lastIndexOf("/")+1, url.lastIndexOf(".")-url.lastIndexOf("/")-1);
        jQuery('#this_url').html('<strong>' + pname + '</strong>');
        jQuery('body').attr('id', pname);
    });
</script>
<body>
    <div id="shark_old">
        <div id="wrap">
            <div id="header">
                <div id="site-name"><a href="../../sphinx_pages/build/html/index.html">Shark machine learning library</a></div>
                <ul id="nav">
                    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/installation.html">Installation</a>
                    </li>
		    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/tutorials/tutorials.html">Tutorials</a>
                    </li>
		    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/benchmark.html">Benchmarks</a>
                    </li>
                    <li class="active">
                        <a href="classes.html">Documentation</a>
                        <ul>
                            <li class="first"></li>
                            <li><a href="../../sphinx_pages/build/html/rest_sources/quickref/quickref.html">Quick references</a></li>
                            <li><a href="classes.html">Class list</a></li>
                            <li class="last"><a href="group__shark__globals.html">Global functions</a></li>
                        </ul>
                    </li>
                </ul>
            </div>
        </div>
    </div>
<div id="doxywrapper">
<!--
    <div id="global_doxytitle">Doxygen<br>Documentation:</div>
-->
    <div id="navrow_wrapper">
<!-- Generated by Doxygen 1.9.8 -->
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceshark.html">shark</a></li><li class="navelem"><a class="el" href="classshark_1_1_abstract_objective_function.html">AbstractObjectiveFunction</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="classshark_1_1_abstract_objective_function-members.html">List of all members</a> &#124;
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle"><div class="title">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt; Class Template Reference<span class="mlabels"><span class="mlabel">abstract</span></span><div class="ingroups"><a class="el" href="group__objfunctions.html">Objective functions</a></div></div></div>
</div><!--header-->
<div class="contents">

<p>Super class of all objective functions for optimization and learning.  
 <a href="classshark_1_1_abstract_objective_function.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_abstract_objective_function_8h_source.html">shark/ObjectiveFunctions/AbstractObjectiveFunction.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classshark_1_1_abstract_objective_function__inherit__graph.png" border="0" usemap="#ashark_1_1_abstract_objective_function_3_01_point_type_00_01_result_t_01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="ashark_1_1_abstract_objective_function_3_01_point_type_00_01_result_t_01_4_inherit__map" id="ashark_1_1_abstract_objective_function_3_01_point_type_00_01_result_t_01_4_inherit__map">
<area shape="rect" title="Super class of all objective functions for optimization and learning." alt="" coords="178,1223,385,1263"/>
<area shape="rect" href="classshark_1_1_error_function.html" title="Objective function for supervised learning." alt="" coords="472,5,616,46"/>
<area shape="poly" title=" " alt="" coords="280,1207,281,978,287,813,297,633,316,454,343,288,360,216,380,152,404,98,431,57,449,42,470,32,472,37,452,47,435,61,409,101,385,153,365,217,348,289,321,454,303,634,292,813,286,978,285,1207"/>
<area shape="rect" href="classshark_1_1_evaluation_archive.html" title="Objective function wrapper storing all function evaluations." alt="" coords="461,71,627,111"/>
<area shape="poly" title=" " alt="" coords="280,1207,283,988,290,833,301,664,320,495,346,340,363,271,383,211,405,161,431,123,444,111,459,102,462,106,447,115,435,126,410,164,388,213,368,273,352,341,325,496,307,664,295,833,288,989,285,1207"/>
<area shape="rect" href="classshark_1_1_one_norm_regularizer.html" title="One&#45;norm of the input as an objective function." alt="" coords="453,136,636,177"/>
<area shape="poly" title=" " alt="" coords="280,1207,285,1000,293,853,305,695,324,536,350,391,367,327,385,271,407,224,431,188,451,172,454,176,435,191,411,227,390,273,372,329,355,392,329,537,310,695,298,853,290,1000,285,1207"/>
<area shape="rect" href="classshark_1_1_two_norm_regularizer.html" title="Two&#45;norm of the input as an objective function." alt="" coords="453,201,636,242"/>
<area shape="poly" title=" " alt="" coords="280,1207,287,1011,295,873,308,725,327,577,353,441,369,381,387,329,408,285,431,252,450,236,454,241,435,255,413,288,392,331,374,383,359,442,333,578,314,725,301,874,292,1011,286,1207"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b1.html" title="Multi&#45;objective optimization benchmark function CIGTAB 1." alt="" coords="466,266,623,322"/>
<area shape="poly" title=" " alt="" coords="281,1207,291,1026,315,765,335,630,360,506,392,403,410,363,431,332,446,318,464,308,467,312,449,322,435,335,415,366,397,405,365,507,340,631,321,765,296,1026,287,1207"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b2.html" title="Multi&#45;objective optimization benchmark function CIGTAB 2." alt="" coords="466,346,623,402"/>
<area shape="poly" title=" " alt="" coords="282,1207,294,1040,320,803,340,681,364,569,395,476,412,440,431,412,446,398,464,388,466,393,449,403,435,415,417,443,400,478,370,570,345,682,325,804,299,1041,287,1207"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_d_t_l_z1.html" title="Implements the benchmark function DTLZ1." alt="" coords="433,425,655,466"/>
<area shape="poly" title=" " alt="" coords="282,1207,295,1051,323,833,342,721,367,619,396,535,413,502,431,477,446,464,450,468,435,481,417,505,401,537,372,621,348,722,328,833,301,1051,288,1207"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_d_t_l_z2.html" title="Implements the benchmark function DTLZ2." alt="" coords="433,491,655,531"/>
<area shape="poly" title=" " alt="" coords="283,1207,298,1063,327,864,347,763,370,671,398,595,414,565,431,542,446,530,450,534,435,546,419,568,403,597,376,672,352,764,332,865,303,1063,288,1207"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_d_t_l_z3.html" title="Implements the benchmark function DTLZ3." alt="" coords="433,556,655,597"/>
<area shape="poly" title=" " alt="" coords="284,1207,301,1075,331,896,351,805,374,723,401,655,416,628,431,608,447,595,450,599,435,612,420,631,406,657,379,724,356,806,336,897,306,1075,289,1207"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_d_t_l_z4.html" title="Implements the benchmark function DTLZ4." alt="" coords="433,621,655,662"/>
<area shape="poly" title=" " alt="" coords="285,1207,304,1087,335,928,355,848,378,775,403,714,431,673,447,660,451,664,435,677,408,717,383,776,361,849,341,929,309,1088,290,1208"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_d_t_l_z5.html" title="Implements the benchmark function DTLZ5." alt="" coords="433,687,655,727"/>
<area shape="poly" title=" " alt="" coords="280,1207,285,1114,293,1054,306,989,325,921,352,855,387,793,431,738,447,726,451,730,435,742,391,796,356,857,330,923,311,990,299,1055,291,1115,285,1207"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_d_t_l_z6.html" title="Implements the benchmark function DTLZ6." alt="" coords="433,752,655,793"/>
<area shape="poly" title=" " alt="" coords="282,1207,291,1125,315,1017,334,959,359,903,391,850,431,804,448,791,451,795,435,808,396,853,364,905,339,961,320,1018,296,1126,287,1208"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_d_t_l_z7.html" title="Implements the benchmark function DTLZ7." alt="" coords="433,817,655,858"/>
<area shape="poly" title=" " alt="" coords="284,1207,297,1136,323,1045,343,997,367,951,396,907,431,869,449,856,452,861,435,873,400,911,371,953,348,1000,329,1047,303,1137,289,1208"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_e_l_l_i1.html" title="Multi&#45;objective optimization benchmark function ELLI1." alt="" coords="436,883,652,923"/>
<area shape="poly" title=" " alt="" coords="288,1207,304,1148,333,1075,374,999,401,965,431,934,450,922,453,926,435,938,405,968,379,1002,337,1077,309,1150,293,1208"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_e_l_l_i2.html" title="Multi&#45;objective optimization benchmark function ELLI2." alt="" coords="436,948,652,989"/>
<area shape="poly" title=" " alt="" coords="292,1207,313,1160,342,1103,382,1047,405,1021,431,998,450,987,452,992,435,1002,409,1025,386,1050,347,1106,317,1162,297,1209"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_fonseca.html" title="Bi&#45;objective real&#45;valued benchmark function proposed by Fonseca and Flemming." alt="" coords="469,1013,620,1068"/>
<area shape="poly" title=" " alt="" coords="304,1208,358,1143,393,1108,432,1078,467,1060,470,1064,434,1083,396,1112,362,1146,308,1211"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_g_s_p.html" title="Real&#45;valued benchmark function with two objectives." alt="" coords="439,1092,649,1133"/>
<area shape="poly" title=" " alt="" coords="320,1211,372,1176,432,1143,463,1131,465,1136,434,1148,375,1181,323,1216"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_i_h_r1.html" title="Multi&#45;objective optimization benchmark function IHR1." alt="" coords="438,1157,651,1198"/>
<area shape="poly" title=" " alt="" coords="380,1216,459,1196,460,1201,381,1221"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_i_h_r2.html" title="Multi&#45;objective optimization benchmark function IHR 2." alt="" coords="438,1223,651,1263"/>
<area shape="poly" title=" " alt="" coords="401,1240,437,1240,437,1246,401,1246"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_i_h_r3.html" title="Multi&#45;objective optimization benchmark function IHR3." alt="" coords="438,1288,651,1329"/>
<area shape="poly" title=" " alt="" coords="381,1265,460,1285,459,1290,380,1270"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_i_h_r4.html" title="Multi&#45;objective optimization benchmark function IHR 4." alt="" coords="438,1353,651,1394"/>
<area shape="poly" title=" " alt="" coords="323,1270,375,1305,434,1338,465,1350,463,1355,432,1343,372,1310,320,1275"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_i_h_r6.html" title="Multi&#45;objective optimization benchmark function IHR 6." alt="" coords="438,1419,651,1459"/>
<area shape="poly" title=" " alt="" coords="307,1275,361,1340,396,1374,434,1403,459,1416,456,1420,432,1408,392,1378,357,1344,303,1278"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_l_z1.html" title="Multi&#45;objective optimization benchmark function LZ1." alt="" coords="442,1484,646,1525"/>
<area shape="poly" title=" " alt="" coords="299,1277,320,1321,349,1373,388,1425,435,1469,455,1481,452,1486,431,1473,384,1428,345,1376,315,1323,294,1279"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_l_z2.html" title="Multi&#45;objective optimization benchmark function LZ2." alt="" coords="442,1549,646,1590"/>
<area shape="poly" title=" " alt="" coords="294,1278,311,1334,339,1403,380,1474,406,1506,435,1534,454,1547,451,1551,431,1538,402,1510,376,1477,335,1406,306,1336,289,1279"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_l_z3.html" title="Multi&#45;objective optimization benchmark function LZ3." alt="" coords="442,1615,646,1655"/>
<area shape="poly" title=" " alt="" coords="290,1279,304,1347,330,1433,349,1479,373,1523,401,1564,435,1600,452,1612,449,1616,431,1604,397,1567,368,1525,345,1481,325,1435,299,1348,285,1280"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_l_z4.html" title="Multi&#45;objective optimization benchmark function LZ4." alt="" coords="442,1680,646,1721"/>
<area shape="poly" title=" " alt="" coords="287,1278,298,1358,322,1462,341,1517,365,1571,397,1621,435,1665,451,1677,448,1682,431,1669,392,1624,361,1573,336,1519,316,1463,292,1359,282,1279"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_l_z5.html" title="Multi&#45;objective optimization benchmark function LZ5." alt="" coords="442,1745,646,1786"/>
<area shape="poly" title=" " alt="" coords="285,1278,292,1369,300,1427,313,1490,332,1555,358,1619,392,1678,435,1730,451,1743,447,1747,431,1734,387,1681,353,1621,327,1557,308,1491,295,1428,287,1369,280,1279"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_l_z6.html" title="Multi&#45;objective optimization benchmark function LZ6." alt="" coords="442,1811,646,1851"/>
<area shape="poly" title=" " alt="" coords="290,1278,310,1395,341,1550,361,1628,384,1699,409,1757,435,1796,451,1808,447,1812,431,1799,404,1759,379,1701,356,1630,336,1551,304,1396,285,1279"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_l_z7.html" title="Multi&#45;objective optimization benchmark function LZ7." alt="" coords="442,1876,646,1917"/>
<area shape="poly" title=" " alt="" coords="289,1278,307,1407,337,1582,357,1670,380,1751,406,1817,420,1842,435,1861,450,1873,447,1877,431,1865,416,1845,401,1819,375,1753,352,1672,332,1583,301,1408,284,1279"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_l_z8.html" title="Multi&#45;objective optimization benchmark function LZ8." alt="" coords="442,1941,646,1982"/>
<area shape="poly" title=" " alt="" coords="288,1279,304,1420,333,1615,353,1713,376,1803,404,1877,419,1905,435,1926,450,1939,446,1943,431,1930,414,1908,399,1879,371,1805,348,1714,328,1615,299,1421,283,1279"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_l_z9.html" title="Multi&#45;objective optimization benchmark function LZ9." alt="" coords="442,2007,646,2047"/>
<area shape="poly" title=" " alt="" coords="288,1279,301,1432,329,1646,348,1755,373,1855,401,1937,418,1968,435,1992,450,2004,446,2008,431,1995,413,1971,397,1939,367,1856,343,1756,323,1647,296,1433,282,1279"/>
<area shape="rect" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html" title="Creates a multi&#45;objective Benchmark from a set of given single objective functions." alt="" coords="459,2071,629,2127"/>
<area shape="poly" title=" " alt="" coords="287,1278,300,1443,326,1676,346,1796,370,1905,400,1995,417,2030,435,2057,460,2077,457,2081,431,2061,412,2033,395,1997,365,1906,341,1797,321,1677,294,1443,282,1279"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_z_d_t1.html" title="Multi&#45;objective optimization benchmark function ZDT1." alt="" coords="437,2151,652,2191"/>
<area shape="poly" title=" " alt="" coords="286,1279,296,1458,305,1582,319,1716,339,1849,364,1970,396,2070,414,2108,435,2137,448,2148,444,2152,431,2141,410,2111,391,2072,359,1971,333,1850,314,1717,300,1583,290,1459,281,1279"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_z_d_t2.html" title="Multi&#45;objective optimization benchmark function ZDT2." alt="" coords="437,2216,652,2257"/>
<area shape="poly" title=" " alt="" coords="286,1279,294,1469,302,1603,316,1746,335,1889,361,2020,376,2078,394,2128,413,2170,435,2201,449,2213,446,2217,431,2205,409,2172,389,2130,371,2079,355,2021,330,1890,311,1747,297,1603,288,1470,281,1279"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_z_d_t3.html" title="Multi&#45;objective optimization benchmark function ZDT3." alt="" coords="437,2281,652,2322"/>
<area shape="poly" title=" " alt="" coords="286,1279,291,1481,299,1623,312,1777,331,1931,357,2072,373,2133,391,2188,412,2232,435,2267,449,2279,446,2283,431,2270,407,2235,386,2190,368,2135,352,2073,325,1931,307,1778,294,1623,286,1481,280,1279"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_z_d_t4.html" title="Multi&#45;objective optimization benchmark function ZDT4." alt="" coords="437,2347,652,2387"/>
<area shape="poly" title=" " alt="" coords="285,1279,289,1492,296,1644,308,1808,327,1972,353,2123,370,2189,389,2247,411,2295,435,2332,449,2344,445,2348,431,2335,406,2298,384,2249,365,2191,348,2124,321,1973,303,1809,291,1644,284,1492,280,1279"/>
<area shape="rect" href="structshark_1_1benchmarks_1_1_z_d_t6.html" title="Multi&#45;objective optimization benchmark function ZDT6." alt="" coords="437,2412,652,2453"/>
<area shape="poly" title=" " alt="" coords="285,1279,287,1503,293,1664,304,1839,323,2014,349,2174,367,2245,386,2307,409,2358,435,2397,449,2410,445,2414,431,2401,405,2361,381,2309,361,2246,344,2175,317,2014,299,1839,288,1664,282,1503,280,1279"/>
<area shape="rect" href="classshark_1_1_i_nameable.html" title="This class is an interface for all objects which can have a name." alt="" coords="5,1230,130,1256"/>
<area shape="poly" title=" " alt="" coords="145,1240,177,1240,177,1246,145,1246"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structshark_1_1_abstract_objective_function_1_1_second_order_derivative.html">SecondOrderDerivative</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:aadafeb6dfb5b649f321e7b81ac8aad1a" id="r_aadafeb6dfb5b649f321e7b81ac8aad1a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1a">Feature</a> { <br />
&#160;&#160;<a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aad3475b458576c8760f28d8d81f4eda86">HAS_VALUE</a> = 1
, <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa0bc7673a369df5f86ddd6ba6735f4971">HAS_FIRST_DERIVATIVE</a> = 2
, <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa2a3534a8bfd17ffc9f39a2892dc03858">HAS_SECOND_DERIVATIVE</a> = 4
, <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aab9262b57bb302f04b2561666a9068446">CAN_PROPOSE_STARTING_POINT</a> = 8
, <br />
&#160;&#160;<a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa0574c1ccb7c3791cc09bae4a7198429a">IS_CONSTRAINED_FEATURE</a> = 16
, <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa7decd0dc83d8de4fcec02d4e27251dd5">HAS_CONSTRAINT_HANDLER</a> = 32
, <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa15247e91dcbcdf3fa7061f2ee70cf129">CAN_PROVIDE_CLOSEST_FEASIBLE</a> = 64
, <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa155aa01439b358ce00e8cfb9f377fb5f">IS_THREAD_SAFE</a> = 128
, <br />
&#160;&#160;<a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa9022946d8a121d3e6c820f58d8cd3d87">IS_NOISY</a> = 256
<br />
 }</td></tr>
<tr class="memdesc:aadafeb6dfb5b649f321e7b81ac8aad1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">List of features that are supported by an implementation.  <a href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1a">More...</a><br /></td></tr>
<tr class="separator:aadafeb6dfb5b649f321e7b81ac8aad1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59bfea031628e16737c66e7117eba7b5" id="r_a59bfea031628e16737c66e7117eba7b5"><td class="memItemLeft" align="right" valign="top">typedef PointType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a></td></tr>
<tr class="separator:a59bfea031628e16737c66e7117eba7b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70f0672a3c3b24c437c81243624b5307" id="r_a70f0672a3c3b24c437c81243624b5307"><td class="memItemLeft" align="right" valign="top">typedef ResultT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a70f0672a3c3b24c437c81243624b5307">ResultType</a></td></tr>
<tr class="separator:a70f0672a3c3b24c437c81243624b5307"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29804371954a360f09696adea7cfd839" id="r_a29804371954a360f09696adea7cfd839"><td class="memItemLeft" align="right" valign="top">typedef boost::mpl::if_&lt; std::is_arithmetic&lt; ResultT &gt;, <a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a>, RealMatrix &gt;::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a29804371954a360f09696adea7cfd839">FirstOrderDerivative</a></td></tr>
<tr class="separator:a29804371954a360f09696adea7cfd839"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a015ecb970cd0f5dac73e727fdcc0afec" id="r_a015ecb970cd0f5dac73e727fdcc0afec"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classshark_1_1_typed_flags.html">TypedFlags</a>&lt; <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1a">Feature</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a015ecb970cd0f5dac73e727fdcc0afec">Features</a></td></tr>
<tr class="memdesc:a015ecb970cd0f5dac73e727fdcc0afec"><td class="mdescLeft">&#160;</td><td class="mdescRight">This statement declares the member m_features. See <a class="el" href="_flags_8h.html">Core/Flags.h</a> for details.  <br /></td></tr>
<tr class="separator:a015ecb970cd0f5dac73e727fdcc0afec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08e03b4eea2e069da19e0870fd205090" id="r_a08e03b4eea2e069da19e0870fd205090"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classshark_1_1_typed_feature_not_available_exception.html">TypedFeatureNotAvailableException</a>&lt; <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1a">Feature</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a08e03b4eea2e069da19e0870fd205090">FeatureNotAvailableException</a></td></tr>
<tr class="separator:a08e03b4eea2e069da19e0870fd205090"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a755673593a64a978a91ac3398c390d4b" id="r_a755673593a64a978a91ac3398c390d4b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classshark_1_1_abstract_objective_function.html#a015ecb970cd0f5dac73e727fdcc0afec">Features</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a755673593a64a978a91ac3398c390d4b">features</a> () const</td></tr>
<tr class="separator:a755673593a64a978a91ac3398c390d4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f92098ce1e74c805f359b56893e78ed" id="r_a7f92098ce1e74c805f359b56893e78ed"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a7f92098ce1e74c805f359b56893e78ed">updateFeatures</a> ()</td></tr>
<tr class="separator:a7f92098ce1e74c805f359b56893e78ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d4be77b4100781bbd7ca50bcf68c94f" id="r_a7d4be77b4100781bbd7ca50bcf68c94f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a7d4be77b4100781bbd7ca50bcf68c94f">hasValue</a> () const</td></tr>
<tr class="memdesc:a7d4be77b4100781bbd7ca50bcf68c94f"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns whether this function can calculate it's function value  <br /></td></tr>
<tr class="separator:a7d4be77b4100781bbd7ca50bcf68c94f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec3465e02d80e79445df299cf8531fcc" id="r_aec3465e02d80e79445df299cf8531fcc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#aec3465e02d80e79445df299cf8531fcc">hasFirstDerivative</a> () const</td></tr>
<tr class="memdesc:aec3465e02d80e79445df299cf8531fcc"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns whether this function can calculate the first derivative  <br /></td></tr>
<tr class="separator:aec3465e02d80e79445df299cf8531fcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f5d2c0fa504de1e3b5a66363c826f08" id="r_a9f5d2c0fa504de1e3b5a66363c826f08"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a9f5d2c0fa504de1e3b5a66363c826f08">hasSecondDerivative</a> () const</td></tr>
<tr class="memdesc:a9f5d2c0fa504de1e3b5a66363c826f08"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns whether this function can calculate the second derivative  <br /></td></tr>
<tr class="separator:a9f5d2c0fa504de1e3b5a66363c826f08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa190c3699e653df3f054b0b3d753270e" id="r_aa190c3699e653df3f054b0b3d753270e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#aa190c3699e653df3f054b0b3d753270e">canProposeStartingPoint</a> () const</td></tr>
<tr class="memdesc:aa190c3699e653df3f054b0b3d753270e"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns whether this function can propose a starting point.  <br /></td></tr>
<tr class="separator:aa190c3699e653df3f054b0b3d753270e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a03eac74b7cac35c5d510ab12599393" id="r_a2a03eac74b7cac35c5d510ab12599393"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a2a03eac74b7cac35c5d510ab12599393">isConstrained</a> () const</td></tr>
<tr class="memdesc:a2a03eac74b7cac35c5d510ab12599393"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns whether this function can return  <br /></td></tr>
<tr class="separator:a2a03eac74b7cac35c5d510ab12599393"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d14fcc84cd963a1f6d9d7c8477bd3ee" id="r_a8d14fcc84cd963a1f6d9d7c8477bd3ee"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a8d14fcc84cd963a1f6d9d7c8477bd3ee">hasConstraintHandler</a> () const</td></tr>
<tr class="memdesc:a8d14fcc84cd963a1f6d9d7c8477bd3ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns whether this function can return  <br /></td></tr>
<tr class="separator:a8d14fcc84cd963a1f6d9d7c8477bd3ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a499c48a9afe9e77e866af66c0cb4f396" id="r_a499c48a9afe9e77e866af66c0cb4f396"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a499c48a9afe9e77e866af66c0cb4f396">canProvideClosestFeasible</a> () const</td></tr>
<tr class="memdesc:a499c48a9afe9e77e866af66c0cb4f396"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether this function can calculate thee closest feasible to an infeasible point.  <br /></td></tr>
<tr class="separator:a499c48a9afe9e77e866af66c0cb4f396"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b418f50d0e284fe10c92a1c719d5615" id="r_a3b418f50d0e284fe10c92a1c719d5615"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a3b418f50d0e284fe10c92a1c719d5615">isThreadSafe</a> () const</td></tr>
<tr class="memdesc:a3b418f50d0e284fe10c92a1c719d5615"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true, when the function can be usd in parallel threads.  <br /></td></tr>
<tr class="separator:a3b418f50d0e284fe10c92a1c719d5615"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80a63b56c111cd7c65e5b264c9d84bac" id="r_a80a63b56c111cd7c65e5b264c9d84bac"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a80a63b56c111cd7c65e5b264c9d84bac">isNoisy</a> () const</td></tr>
<tr class="memdesc:a80a63b56c111cd7c65e5b264c9d84bac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true, when the function can be usd in parallel threads.  <br /></td></tr>
<tr class="separator:a80a63b56c111cd7c65e5b264c9d84bac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f32ae97885db58f9602191d64284f98" id="r_a0f32ae97885db58f9602191d64284f98"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a0f32ae97885db58f9602191d64284f98">AbstractObjectiveFunction</a> ()</td></tr>
<tr class="memdesc:a0f32ae97885db58f9602191d64284f98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default ctor.  <br /></td></tr>
<tr class="separator:a0f32ae97885db58f9602191d64284f98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11cbdfb46ff9d34231248d8b847bd0ea" id="r_a11cbdfb46ff9d34231248d8b847bd0ea"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a11cbdfb46ff9d34231248d8b847bd0ea">~AbstractObjectiveFunction</a> ()</td></tr>
<tr class="memdesc:a11cbdfb46ff9d34231248d8b847bd0ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual destructor.  <br /></td></tr>
<tr class="separator:a11cbdfb46ff9d34231248d8b847bd0ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe4776a85c4ce622c25f3290fa1395d1" id="r_abe4776a85c4ce622c25f3290fa1395d1"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#abe4776a85c4ce622c25f3290fa1395d1">init</a> ()</td></tr>
<tr class="separator:abe4776a85c4ce622c25f3290fa1395d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a287178b5b0b97c71bbffc80086ff00" id="r_a3a287178b5b0b97c71bbffc80086ff00"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a3a287178b5b0b97c71bbffc80086ff00">setRng</a> (random::rng_type *rng)</td></tr>
<tr class="memdesc:a3a287178b5b0b97c71bbffc80086ff00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the Rng used by the objective function.  <br /></td></tr>
<tr class="separator:a3a287178b5b0b97c71bbffc80086ff00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a256f6b128af038dfaf9cef1bcd45a426" id="r_a256f6b128af038dfaf9cef1bcd45a426"><td class="memItemLeft" align="right" valign="top">virtual std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a256f6b128af038dfaf9cef1bcd45a426">numberOfVariables</a> () const =0</td></tr>
<tr class="memdesc:a256f6b128af038dfaf9cef1bcd45a426"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accesses the number of variables.  <br /></td></tr>
<tr class="separator:a256f6b128af038dfaf9cef1bcd45a426"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24751b2fc6f327053938dc92ff01384a" id="r_a24751b2fc6f327053938dc92ff01384a"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a24751b2fc6f327053938dc92ff01384a">hasScalableDimensionality</a> () const</td></tr>
<tr class="separator:a24751b2fc6f327053938dc92ff01384a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bdfc60abbe8548ba090bff096295b8f" id="r_a4bdfc60abbe8548ba090bff096295b8f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a4bdfc60abbe8548ba090bff096295b8f">setNumberOfVariables</a> (std::size_t <a class="el" href="classshark_1_1_abstract_objective_function.html#a256f6b128af038dfaf9cef1bcd45a426">numberOfVariables</a>)</td></tr>
<tr class="memdesc:a4bdfc60abbe8548ba090bff096295b8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adjusts the number of variables if the function is scalable.  <br /></td></tr>
<tr class="separator:a4bdfc60abbe8548ba090bff096295b8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa69ec2b8a4e968f30d7ac135af074012" id="r_aa69ec2b8a4e968f30d7ac135af074012"><td class="memItemLeft" align="right" valign="top">virtual std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#aa69ec2b8a4e968f30d7ac135af074012">numberOfObjectives</a> () const</td></tr>
<tr class="separator:aa69ec2b8a4e968f30d7ac135af074012"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae58a543d7cccc6c66e3a7d8ce762fc01" id="r_ae58a543d7cccc6c66e3a7d8ce762fc01"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#ae58a543d7cccc6c66e3a7d8ce762fc01">hasScalableObjectives</a> () const</td></tr>
<tr class="separator:ae58a543d7cccc6c66e3a7d8ce762fc01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcb3e45b19bba4130989d7ae37200900" id="r_afcb3e45b19bba4130989d7ae37200900"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#afcb3e45b19bba4130989d7ae37200900">setNumberOfObjectives</a> (std::size_t <a class="el" href="classshark_1_1_abstract_objective_function.html#aa69ec2b8a4e968f30d7ac135af074012">numberOfObjectives</a>)</td></tr>
<tr class="memdesc:afcb3e45b19bba4130989d7ae37200900"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adjusts the number of objectives if the function is scalable.  <br /></td></tr>
<tr class="separator:afcb3e45b19bba4130989d7ae37200900"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afaa9cc39ccb4d74a0d6db0ae2d087051" id="r_afaa9cc39ccb4d74a0d6db0ae2d087051"><td class="memItemLeft" align="right" valign="top">std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#afaa9cc39ccb4d74a0d6db0ae2d087051">evaluationCounter</a> () const</td></tr>
<tr class="memdesc:afaa9cc39ccb4d74a0d6db0ae2d087051"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accesses the evaluation counter of the function.  <br /></td></tr>
<tr class="separator:afaa9cc39ccb4d74a0d6db0ae2d087051"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a714edd6cc680adf04d5d12d7e845544f" id="r_a714edd6cc680adf04d5d12d7e845544f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_abstract_constraint_handler.html">AbstractConstraintHandler</a>&lt; <a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> &gt; const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a714edd6cc680adf04d5d12d7e845544f">getConstraintHandler</a> () const</td></tr>
<tr class="memdesc:a714edd6cc680adf04d5d12d7e845544f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the constraint handler of the function if it has one.  <br /></td></tr>
<tr class="separator:a714edd6cc680adf04d5d12d7e845544f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a152c45a40169bf31cead2b9169a5367c" id="r_a152c45a40169bf31cead2b9169a5367c"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a152c45a40169bf31cead2b9169a5367c">isFeasible</a> (const <a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> &amp;input) const</td></tr>
<tr class="memdesc:a152c45a40169bf31cead2b9169a5367c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests whether a point in SearchSpace is feasible, e.g., whether the constraints are fulfilled.  <br /></td></tr>
<tr class="separator:a152c45a40169bf31cead2b9169a5367c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68b3dfe1642e13693b5ab610f3fc5f79" id="r_a68b3dfe1642e13693b5ab610f3fc5f79"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a68b3dfe1642e13693b5ab610f3fc5f79">closestFeasible</a> (<a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> &amp;input) const</td></tr>
<tr class="memdesc:a68b3dfe1642e13693b5ab610f3fc5f79"><td class="mdescLeft">&#160;</td><td class="mdescRight">If supported, the supplied point is repaired such that it satisfies all of the function's constraints.  <br /></td></tr>
<tr class="separator:a68b3dfe1642e13693b5ab610f3fc5f79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd2922036a6388fde1173490079bb22b" id="r_acd2922036a6388fde1173490079bb22b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#acd2922036a6388fde1173490079bb22b">proposeStartingPoint</a> () const</td></tr>
<tr class="memdesc:acd2922036a6388fde1173490079bb22b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Proposes a starting point in the feasible search space of the function.  <br /></td></tr>
<tr class="separator:acd2922036a6388fde1173490079bb22b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a751c175270f6d6f0bcc1200f333c0045" id="r_a751c175270f6d6f0bcc1200f333c0045"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classshark_1_1_abstract_objective_function.html#a70f0672a3c3b24c437c81243624b5307">ResultType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a751c175270f6d6f0bcc1200f333c0045">eval</a> (<a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> const &amp;input) const</td></tr>
<tr class="memdesc:a751c175270f6d6f0bcc1200f333c0045"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates the objective function for the supplied argument.  <br /></td></tr>
<tr class="separator:a751c175270f6d6f0bcc1200f333c0045"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa79994e4b70d92fd30e62be20145ebd9" id="r_aa79994e4b70d92fd30e62be20145ebd9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_abstract_objective_function.html#a70f0672a3c3b24c437c81243624b5307">ResultType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#aa79994e4b70d92fd30e62be20145ebd9">operator()</a> (<a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> const &amp;input) const</td></tr>
<tr class="memdesc:aa79994e4b70d92fd30e62be20145ebd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates the function. Useful together with STL-Algorithms like std::transform.  <br /></td></tr>
<tr class="separator:aa79994e4b70d92fd30e62be20145ebd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53df2ac5d82c608ea938dc1e3a0c0617" id="r_a53df2ac5d82c608ea938dc1e3a0c0617"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classshark_1_1_abstract_objective_function.html#a70f0672a3c3b24c437c81243624b5307">ResultType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a53df2ac5d82c608ea938dc1e3a0c0617">evalDerivative</a> (<a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> const &amp;input, <a class="el" href="classshark_1_1_abstract_objective_function.html#a29804371954a360f09696adea7cfd839">FirstOrderDerivative</a> &amp;derivative) const</td></tr>
<tr class="memdesc:a53df2ac5d82c608ea938dc1e3a0c0617"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates the objective function and calculates its gradient.  <br /></td></tr>
<tr class="separator:a53df2ac5d82c608ea938dc1e3a0c0617"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23274e2befc7530c8d63834e21a3fa78" id="r_a23274e2befc7530c8d63834e21a3fa78"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classshark_1_1_abstract_objective_function.html#a70f0672a3c3b24c437c81243624b5307">ResultType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a23274e2befc7530c8d63834e21a3fa78">evalDerivative</a> (<a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> const &amp;input, <a class="el" href="structshark_1_1_abstract_objective_function_1_1_second_order_derivative.html">SecondOrderDerivative</a> &amp;derivative) const</td></tr>
<tr class="memdesc:a23274e2befc7530c8d63834e21a3fa78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates the objective function and calculates its gradient.  <br /></td></tr>
<tr class="separator:a23274e2befc7530c8d63834e21a3fa78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classshark_1_1_i_nameable"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classshark_1_1_i_nameable')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classshark_1_1_i_nameable.html">shark::INameable</a></td></tr>
<tr class="memitem:a877dbdfc6b58ea836495143cea44a98c inherit pub_methods_classshark_1_1_i_nameable" id="r_a877dbdfc6b58ea836495143cea44a98c"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_nameable.html#a877dbdfc6b58ea836495143cea44a98c">~INameable</a> ()</td></tr>
<tr class="separator:a877dbdfc6b58ea836495143cea44a98c inherit pub_methods_classshark_1_1_i_nameable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9893f99314de30cd472e649c235d0db4 inherit pub_methods_classshark_1_1_i_nameable" id="r_a9893f99314de30cd472e649c235d0db4"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_nameable.html#a9893f99314de30cd472e649c235d0db4">name</a> () const</td></tr>
<tr class="memdesc:a9893f99314de30cd472e649c235d0db4 inherit pub_methods_classshark_1_1_i_nameable"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the name of the object  <br /></td></tr>
<tr class="separator:a9893f99314de30cd472e649c235d0db4 inherit pub_methods_classshark_1_1_i_nameable"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a2b1a8af419059a542cb3d0848dd278a2" id="r_a2b1a8af419059a542cb3d0848dd278a2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a2b1a8af419059a542cb3d0848dd278a2">announceConstraintHandler</a> (<a class="el" href="classshark_1_1_abstract_constraint_handler.html">AbstractConstraintHandler</a>&lt; <a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> &gt; const *handler)</td></tr>
<tr class="memdesc:a2b1a8af419059a542cb3d0848dd278a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">helper function which is called to announce the presence of an constraint handler.  <br /></td></tr>
<tr class="separator:a2b1a8af419059a542cb3d0848dd278a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ad8888c58fd3f98e73013afb5dd4b2af1" id="r_ad8888c58fd3f98e73013afb5dd4b2af1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_abstract_objective_function.html#a015ecb970cd0f5dac73e727fdcc0afec">Features</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#ad8888c58fd3f98e73013afb5dd4b2af1">m_features</a></td></tr>
<tr class="separator:ad8888c58fd3f98e73013afb5dd4b2af1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0942c072be06d0dd4da5ee7067c5777" id="r_af0942c072be06d0dd4da5ee7067c5777"><td class="memItemLeft" align="right" valign="top">std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#af0942c072be06d0dd4da5ee7067c5777">m_evaluationCounter</a></td></tr>
<tr class="memdesc:af0942c072be06d0dd4da5ee7067c5777"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluation counter, default value: 0.  <br /></td></tr>
<tr class="separator:af0942c072be06d0dd4da5ee7067c5777"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcb65bca56cbfead4a3956e81d0d97d8" id="r_abcb65bca56cbfead4a3956e81d0d97d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_abstract_constraint_handler.html">AbstractConstraintHandler</a>&lt; <a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> &gt; const  *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#abcb65bca56cbfead4a3956e81d0d97d8">m_constraintHandler</a></td></tr>
<tr class="separator:abcb65bca56cbfead4a3956e81d0d97d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a27bddca6060f7861c49b05f8ec8435" id="r_a6a27bddca6060f7861c49b05f8ec8435"><td class="memItemLeft" align="right" valign="top">random::rng_type *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_objective_function.html#a6a27bddca6060f7861c49b05f8ec8435">mep_rng</a></td></tr>
<tr class="separator:a6a27bddca6060f7861c49b05f8ec8435"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><div class="compoundTemplParams">template&lt;typename PointType, typename ResultT&gt;<br />
class shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;</div><p>Super class of all objective functions for optimization and learning. </p>
<dl class="section user"><dt></dt><dd>The <a class="el" href="classshark_1_1_abstract_objective_function.html" title="Super class of all objective functions for optimization and learning.">AbstractObjectiveFunction</a> template class is the most general interface for a function to be minimized by an optimizer. It subsumes many more specialized classes, ranging from classical test problems in evolutionary algorithms to data-dependent objective functions in supervised learning. This interface allows all general purpose optimization procedures to be used as model training algorithms in a learning task, with applications ranging from training of neural networks to direct policy search in reinforcement learning.</dd></dl>
<p><a class="el" href="classshark_1_1_abstract_objective_function.html" title="Super class of all objective functions for optimization and learning.">AbstractObjectiveFunction</a> offers a rich interface to support different types of optimizers. Since not every objective function meets every requirement, a flag system exists which tells the optimizer which features are available. These are: HAS_VALUE: The function can be evaluated. If not set, evalDerivative returns a meaningless value (for example std::numeric_limits&lt;double&gt;::quiet_nan()); HAS_FIRST_DERIVATIVE: evalDerivative can be called for the FirstOrderDerivative. The Derivative is defined and as exact as possible; HAS_SECOND_DERIVATIVE: evalDerivative can be called for the second derivative. IS_CONSTRAINED_FEATURE: The function has constraints and isFeasible might return false; CAN_PROPOSE_STARTING_POINT: the function can return a possibly randomized starting point; CAN_PROVIDE_CLOSEST_FEASIBLE: if the function is constrained, closest feasible can be called to construct a feasible point.</p>
<p>In the single objective case, the shark convention is to return a double value, while in Multi objective optimization a RealVector is returned with an entry for every objective. Moreoever, derivatives in the single objective case are RealVectors, while they are RealMatrix in the multi-objective case (i.e. the jacobian of the function).</p>
<p>Calling the derivatives, proposeStartingPoint or closestFeasible when the flags are not set will throw an exception. The features can be queried using the method <a class="el" href="classshark_1_1_abstract_objective_function.html#a755673593a64a978a91ac3398c390d4b">features()</a> as in if(!(f.features()&amp;Function::HAS_VALUE))</p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">PointType</td><td>The search space the function is defined upon. </td></tr>
    <tr><td class="paramname">ResultT</td><td>The objective space the function is defined upon. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00092">92</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a08e03b4eea2e069da19e0870fd205090" name="a08e03b4eea2e069da19e0870fd205090"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08e03b4eea2e069da19e0870fd205090">&#9670;&#160;</a></span>FeatureNotAvailableException</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classshark_1_1_typed_feature_not_available_exception.html">TypedFeatureNotAvailableException</a>&lt;<a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1a">Feature</a>&gt; <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::FeatureNotAvailableException</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00123">123</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

</div>
</div>
<a id="a015ecb970cd0f5dac73e727fdcc0afec" name="a015ecb970cd0f5dac73e727fdcc0afec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a015ecb970cd0f5dac73e727fdcc0afec">&#9670;&#160;</a></span>Features</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classshark_1_1_typed_flags.html">TypedFlags</a>&lt;<a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1a">Feature</a>&gt; <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::Features</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This statement declares the member m_features. See <a class="el" href="_flags_8h.html">Core/Flags.h</a> for details. </p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00123">123</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

</div>
</div>
<a id="a29804371954a360f09696adea7cfd839" name="a29804371954a360f09696adea7cfd839"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29804371954a360f09696adea7cfd839">&#9670;&#160;</a></span>FirstOrderDerivative</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef boost::mpl::if_&lt;std::is_arithmetic&lt;ResultT&gt;,<a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a>,RealMatrix&gt;::type <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::FirstOrderDerivative</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00102">102</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

</div>
</div>
<a id="a70f0672a3c3b24c437c81243624b5307" name="a70f0672a3c3b24c437c81243624b5307"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70f0672a3c3b24c437c81243624b5307">&#9670;&#160;</a></span>ResultType</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef ResultT <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::ResultType</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00095">95</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

</div>
</div>
<a id="a59bfea031628e16737c66e7117eba7b5" name="a59bfea031628e16737c66e7117eba7b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59bfea031628e16737c66e7117eba7b5">&#9670;&#160;</a></span>SearchPointType</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef PointType <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::SearchPointType</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00094">94</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="aadafeb6dfb5b649f321e7b81ac8aad1a" name="aadafeb6dfb5b649f321e7b81ac8aad1a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadafeb6dfb5b649f321e7b81ac8aad1a">&#9670;&#160;</a></span>Feature</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1a">shark::AbstractObjectiveFunction::Feature</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>List of features that are supported by an implementation. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aadafeb6dfb5b649f321e7b81ac8aad1aad3475b458576c8760f28d8d81f4eda86" name="aadafeb6dfb5b649f321e7b81ac8aad1aad3475b458576c8760f28d8d81f4eda86"></a>HAS_VALUE&#160;</td><td class="fielddoc"><p>The function can be evaluated and evalDerivative returns a meaningless value (for example std::numeric_limits&lt;double&gt;::quiet_nan()). </p>
</td></tr>
<tr><td class="fieldname"><a id="aadafeb6dfb5b649f321e7b81ac8aad1aa0bc7673a369df5f86ddd6ba6735f4971" name="aadafeb6dfb5b649f321e7b81ac8aad1aa0bc7673a369df5f86ddd6ba6735f4971"></a>HAS_FIRST_DERIVATIVE&#160;</td><td class="fielddoc"><p>The method evalDerivative is implemented for the first derivative and returns a sensible value. </p>
</td></tr>
<tr><td class="fieldname"><a id="aadafeb6dfb5b649f321e7b81ac8aad1aa2a3534a8bfd17ffc9f39a2892dc03858" name="aadafeb6dfb5b649f321e7b81ac8aad1aa2a3534a8bfd17ffc9f39a2892dc03858"></a>HAS_SECOND_DERIVATIVE&#160;</td><td class="fielddoc"><p>The method evalDerivative is implemented for the second derivative and returns a sensible value. </p>
</td></tr>
<tr><td class="fieldname"><a id="aadafeb6dfb5b649f321e7b81ac8aad1aab9262b57bb302f04b2561666a9068446" name="aadafeb6dfb5b649f321e7b81ac8aad1aab9262b57bb302f04b2561666a9068446"></a>CAN_PROPOSE_STARTING_POINT&#160;</td><td class="fielddoc"><p>The function can propose a sensible starting point to search algorithms. </p>
</td></tr>
<tr><td class="fieldname"><a id="aadafeb6dfb5b649f321e7b81ac8aad1aa0574c1ccb7c3791cc09bae4a7198429a" name="aadafeb6dfb5b649f321e7b81ac8aad1aa0574c1ccb7c3791cc09bae4a7198429a"></a>IS_CONSTRAINED_FEATURE&#160;</td><td class="fielddoc"><p>The objective function is constrained. </p>
</td></tr>
<tr><td class="fieldname"><a id="aadafeb6dfb5b649f321e7b81ac8aad1aa7decd0dc83d8de4fcec02d4e27251dd5" name="aadafeb6dfb5b649f321e7b81ac8aad1aa7decd0dc83d8de4fcec02d4e27251dd5"></a>HAS_CONSTRAINT_HANDLER&#160;</td><td class="fielddoc"><p>The constraints are governed by a constraint handler which can be queried by <a class="el" href="classshark_1_1_abstract_objective_function.html#a714edd6cc680adf04d5d12d7e845544f" title="Returns the constraint handler of the function if it has one.">getConstraintHandler()</a> </p>
</td></tr>
<tr><td class="fieldname"><a id="aadafeb6dfb5b649f321e7b81ac8aad1aa15247e91dcbcdf3fa7061f2ee70cf129" name="aadafeb6dfb5b649f321e7b81ac8aad1aa15247e91dcbcdf3fa7061f2ee70cf129"></a>CAN_PROVIDE_CLOSEST_FEASIBLE&#160;</td><td class="fielddoc"><p>If the function is constrained, the method closestFeasible is implemented and returns a "repaired" solution. </p>
</td></tr>
<tr><td class="fieldname"><a id="aadafeb6dfb5b649f321e7b81ac8aad1aa155aa01439b358ce00e8cfb9f377fb5f" name="aadafeb6dfb5b649f321e7b81ac8aad1aa155aa01439b358ce00e8cfb9f377fb5f"></a>IS_THREAD_SAFE&#160;</td><td class="fielddoc"><p>can eval or evalDerivative be called in parallel? </p>
</td></tr>
<tr><td class="fieldname"><a id="aadafeb6dfb5b649f321e7b81ac8aad1aa9022946d8a121d3e6c820f58d8cd3d87" name="aadafeb6dfb5b649f321e7b81ac8aad1aa9022946d8a121d3e6c820f58d8cd3d87"></a>IS_NOISY&#160;</td><td class="fielddoc"><p>The function value is perturbed by some kind of noise. </p>
</td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00110">110</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a0f32ae97885db58f9602191d64284f98" name="a0f32ae97885db58f9602191d64284f98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f32ae97885db58f9602191d64284f98">&#9670;&#160;</a></span>AbstractObjectiveFunction()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::AbstractObjectiveFunction </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default ctor. </p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00171">171</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aad3475b458576c8760f28d8d81f4eda86">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::HAS_VALUE</a>, and <a class="el" href="classshark_1_1_abstract_objective_function.html#ad8888c58fd3f98e73013afb5dd4b2af1">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::m_features</a>.</p>

</div>
</div>
<a id="a11cbdfb46ff9d34231248d8b847bd0ea" name="a11cbdfb46ff9d34231248d8b847bd0ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11cbdfb46ff9d34231248d8b847bd0ea">&#9670;&#160;</a></span>~AbstractObjectiveFunction()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::~<a class="el" href="classshark_1_1_abstract_objective_function.html">AbstractObjectiveFunction</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Virtual destructor. </p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00175">175</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a2b1a8af419059a542cb3d0848dd278a2" name="a2b1a8af419059a542cb3d0848dd278a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b1a8af419059a542cb3d0848dd278a2">&#9670;&#160;</a></span>announceConstraintHandler()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::announceConstraintHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_constraint_handler.html">AbstractConstraintHandler</a>&lt; <a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> &gt; const *&#160;</td>
          <td class="paramname"><em>handler</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>helper function which is called to announce the presence of an constraint handler. </p>
<p>This function quries the propabilities of the handler and sts up the flags accordingly </p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00312">312</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aab9262b57bb302f04b2561666a9068446">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::CAN_PROPOSE_STARTING_POINT</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa15247e91dcbcdf3fa7061f2ee70cf129">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::CAN_PROVIDE_CLOSEST_FEASIBLE</a>, <a class="el" href="classshark_1_1_abstract_constraint_handler.html#a454524f3253a60a2564a21045fbdc5e9">shark::AbstractConstraintHandler&lt; SearchPointType &gt;::canGenerateRandomPoint()</a>, <a class="el" href="classshark_1_1_abstract_constraint_handler.html#a05adea67dd581616abf51b9f51d425c9">shark::AbstractConstraintHandler&lt; SearchPointType &gt;::canProvideClosestFeasible()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa7decd0dc83d8de4fcec02d4e27251dd5">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::HAS_CONSTRAINT_HANDLER</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa0574c1ccb7c3791cc09bae4a7198429a">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::IS_CONSTRAINED_FEATURE</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#abcb65bca56cbfead4a3956e81d0d97d8">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::m_constraintHandler</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#ad8888c58fd3f98e73013afb5dd4b2af1">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::m_features</a>, and <a class="el" href="_exception_8h.html#adce1f80097c69010f5eab2618fa2e971">SHARK_RUNTIME_CHECK</a>.</p>

<p class="reference">Referenced by <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z1.html#a4c5d6ea2eeda88eab3ed16522168afb2">shark::benchmarks::DTLZ1::DTLZ1()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z2.html#a106e2305bbb62c1d2059bacbcd5d7434">shark::benchmarks::DTLZ2::DTLZ2()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z3.html#a2df433052b57c6be54a8c8912f268365">shark::benchmarks::DTLZ3::DTLZ3()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z4.html#a12db9434fe782e642694eb1d9bbfd33b">shark::benchmarks::DTLZ4::DTLZ4()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z5.html#ace28d0c32fff44e6458ff535951ea6b0">shark::benchmarks::DTLZ5::DTLZ5()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z6.html#a3d55657fdef027b40066f03dcdf637d4">shark::benchmarks::DTLZ6::DTLZ6()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z7.html#ad6faa377418a197315752d3c5f5e67ea">shark::benchmarks::DTLZ7::DTLZ7()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_fonseca.html#a4e57e4be62a97313fe7f88ba1f40b246">shark::benchmarks::Fonseca::Fonseca()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_g_s_p.html#a25d575e35c0d221330e5960fd5b0e101">shark::benchmarks::GSP::GSP()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r1.html#aac9602211366da05e8268615edef5908">shark::benchmarks::IHR1::IHR1()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r2.html#a0dd1aa5cb15bae215cca3dedfb98cf69">shark::benchmarks::IHR2::IHR2()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r3.html#a72926e9f6e91ada7d023657075ec8e76">shark::benchmarks::IHR3::IHR3()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r4.html#aaae211c1b9dfab6a07d03d9a501b1779">shark::benchmarks::IHR4::IHR4()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r6.html#a747a16e9b279c6d9933308029054a283">shark::benchmarks::IHR6::IHR6()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z1.html#a4f49d50aa120d1c272eb62995aac5fcd">shark::benchmarks::LZ1::LZ1()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z2.html#af0a8146e80fb6468ce3eed39f059a7d5">shark::benchmarks::LZ2::LZ2()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z3.html#a218132b4f14accc2ce923f26cc992865">shark::benchmarks::LZ3::LZ3()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z4.html#a1e46892b10da91bfe60f612a3c29955a">shark::benchmarks::LZ4::LZ4()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z5.html#a50b43aeb4b3cba2aa3ebdbc04bac2a33">shark::benchmarks::LZ5::LZ5()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z6.html#a5fbcd192f2aec7c1c0dd115b35baa22d">shark::benchmarks::LZ6::LZ6()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z7.html#affc4c175980ef9dbb11a39937a12df9c">shark::benchmarks::LZ7::LZ7()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z8.html#a661d5f639557c1a92b5413baab0604a3">shark::benchmarks::LZ8::LZ8()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z9.html#a8cd552de8e1092c3c746e5eaa1a0506e">shark::benchmarks::LZ9::LZ9()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t1.html#a7f65caac07e2207ea81e0116da68e92e">shark::benchmarks::ZDT1::ZDT1()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t2.html#af18850f1c2cdfbbc356b159f109b8ccf">shark::benchmarks::ZDT2::ZDT2()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t3.html#ae58ccdb2470658fa4e680c5afffa9a9b">shark::benchmarks::ZDT3::ZDT3()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t4.html#a0fa995732f1bd312b5af46b699345517">shark::benchmarks::ZDT4::ZDT4()</a>, and <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t6.html#ae3094d3bb691d9fb02b44a71fca42405">shark::benchmarks::ZDT6::ZDT6()</a>.</p>

</div>
</div>
<a id="aa190c3699e653df3f054b0b3d753270e" name="aa190c3699e653df3f054b0b3d753270e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa190c3699e653df3f054b0b3d753270e">&#9670;&#160;</a></span>canProposeStartingPoint()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::canProposeStartingPoint </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>returns whether this function can propose a starting point. </p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00141">141</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aab9262b57bb302f04b2561666a9068446">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::CAN_PROPOSE_STARTING_POINT</a>, and <a class="el" href="classshark_1_1_abstract_objective_function.html#ad8888c58fd3f98e73013afb5dd4b2af1">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::m_features</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_abstract_optimizer.html#aaa65e7eece1d248594253b799cf20e7a">shark::AbstractOptimizer&lt; PointType, ResultT, SolutionTypeT &gt;::init()</a>, and <a class="el" href="structshark_1_1benchmarks_1_1_rotated_objective_function.html#abc34880a75d766d9ec8e2cd835ee3a8d">shark::benchmarks::RotatedObjectiveFunction::RotatedObjectiveFunction()</a>.</p>

</div>
</div>
<a id="a499c48a9afe9e77e866af66c0cb4f396" name="a499c48a9afe9e77e866af66c0cb4f396"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a499c48a9afe9e77e866af66c0cb4f396">&#9670;&#160;</a></span>canProvideClosestFeasible()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::canProvideClosestFeasible </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns whether this function can calculate thee closest feasible to an infeasible point. </p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00156">156</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa15247e91dcbcdf3fa7061f2ee70cf129">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::CAN_PROVIDE_CLOSEST_FEASIBLE</a>, and <a class="el" href="classshark_1_1_abstract_objective_function.html#ad8888c58fd3f98e73013afb5dd4b2af1">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::m_features</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_abstract_optimizer.html#ae7a23300641448c761b6aa0305b7ef66">shark::AbstractOptimizer&lt; PointType, ResultT, SolutionTypeT &gt;::checkFeatures()</a>.</p>

</div>
</div>
<a id="a68b3dfe1642e13693b5ab610f3fc5f79" name="a68b3dfe1642e13693b5ab610f3fc5f79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68b3dfe1642e13693b5ab610f3fc5f79">&#9670;&#160;</a></span>closestFeasible()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::closestFeasible </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> &amp;&#160;</td>
          <td class="paramname"><em>input</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>If supported, the supplied point is repaired such that it satisfies all of the function's constraints. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">input</td><td>The point to be repaired.</td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">FeatureNotAvailableException</td><td>in the default implementation. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="classshark_1_1_evaluation_archive.html#aa9db8a8ad6cdd5b53cb03966c7ad03a8">shark::EvaluationArchive&lt; PointType, ResultT &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00248">248</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa15247e91dcbcdf3fa7061f2ee70cf129">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::CAN_PROVIDE_CLOSEST_FEASIBLE</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#a714edd6cc680adf04d5d12d7e845544f">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::getConstraintHandler()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#a8d14fcc84cd963a1f6d9d7c8477bd3ee">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::hasConstraintHandler()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#a2a03eac74b7cac35c5d510ab12599393">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::isConstrained()</a>, and <a class="el" href="_flags_8h.html#a6e41326253dee198183b5cbde3570c6c">SHARK_FEATURE_EXCEPTION</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_evaluation_archive.html#aa9db8a8ad6cdd5b53cb03966c7ad03a8">shark::EvaluationArchive&lt; PointType, ResultT &gt;::closestFeasible()</a>.</p>

</div>
</div>
<a id="a751c175270f6d6f0bcc1200f333c0045" name="a751c175270f6d6f0bcc1200f333c0045"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a751c175270f6d6f0bcc1200f333c0045">&#9670;&#160;</a></span>eval()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classshark_1_1_abstract_objective_function.html#a70f0672a3c3b24c437c81243624b5307">ResultType</a> <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::eval </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> const &amp;&#160;</td>
          <td class="paramname"><em>input</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Evaluates the objective function for the supplied argument. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>The argument for which the function shall be evaluated. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The result of evaluating the function for the supplied argument. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">FeatureNotAvailableException</td><td>in the default implementation and if a function does not support this feature. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="classshark_1_1_loo_error.html#af232bdbe9573aae2d81d9d574c331425">shark::LooError&lt; ModelTypeT, LabelType &gt;</a>, <a class="el" href="classshark_1_1_negative_gaussian_process_evidence.html#a9c74a1a22f2496b879cc1683ee15bc86">shark::NegativeGaussianProcessEvidence&lt; InputType, OutputType, LabelType &gt;</a>, <a class="el" href="classshark_1_1benchmarks_1_1_markov_pole.html#a44b7ebcf26c033b499f3c22f941d7806">shark::benchmarks::MarkovPole&lt; HiddenNeuron, OutputNeuron &gt;</a>, <a class="el" href="classshark_1_1benchmarks_1_1_non_markov_pole.html#a6b27effc1ffb168e031c5c67756406c1">shark::benchmarks::NonMarkovPole</a>, <a class="el" href="classshark_1_1_evaluation_archive.html#aa398b0fa85ebc951b7273248019247de">shark::EvaluationArchive&lt; PointType, ResultT &gt;</a>, <a class="el" href="structshark_1_1benchmarks_1_1_ackley.html#af29a45fc5214e7df24f258050370f48d">shark::benchmarks::Ackley</a>, <a class="el" href="structshark_1_1benchmarks_1_1_cigar.html#aab19245fe266e461fdc72d6c0cf809b0">shark::benchmarks::Cigar</a>, <a class="el" href="classshark_1_1benchmarks_1_1_cigar_discus.html#a08c28c2dc2d89428b1882d5776e30ffe">shark::benchmarks::CigarDiscus</a>, <a class="el" href="structshark_1_1benchmarks_1_1_constrained_sphere.html#a7192f76c0c697f67a672c35dcbc69c9f">shark::benchmarks::ConstrainedSphere</a>, <a class="el" href="structshark_1_1benchmarks_1_1_diff_powers.html#a8d065114748562d767411e4e3ed8b6a6">shark::benchmarks::DiffPowers</a>, <a class="el" href="structshark_1_1benchmarks_1_1_ellipsoid.html#aef5c824d1950e8777d3a3f764fe60258">shark::benchmarks::Ellipsoid</a>, <a class="el" href="structshark_1_1benchmarks_1_1_himmelblau.html#a0c91b82fa03768ae5c3aac9cee944013">shark::benchmarks::Himmelblau</a>, <a class="el" href="structshark_1_1benchmarks_1_1_rosenbrock.html#a500dc291180aba61510ba674f1fb2f63">shark::benchmarks::Rosenbrock</a>, <a class="el" href="structshark_1_1benchmarks_1_1_schwefel.html#a2f10c07aec460b9bc5dac68380df8d27">shark::benchmarks::Schwefel</a>, <a class="el" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b1.html#af7d09d2566ec74aa08430d5526917c88">shark::benchmarks::CIGTAB1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b2.html#a1d8d400184b46a67c3cfdbf4cf425303">shark::benchmarks::CIGTAB2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z1.html#a13f21cea920296bc36398c0233d8cb10">shark::benchmarks::DTLZ1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z2.html#adfccd6983e3d97aa6dff155a39d3b96e">shark::benchmarks::DTLZ2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z3.html#a3ea75f4b76209277713ce8c7541fc782">shark::benchmarks::DTLZ3</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z4.html#a577e9511af80602a98f3ae9b93b3f0ce">shark::benchmarks::DTLZ4</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z5.html#a175b0de1fbf7761468281a42153fd11e">shark::benchmarks::DTLZ5</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z6.html#a85667643cf16c10f8dd8f907eecdc735">shark::benchmarks::DTLZ6</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z7.html#ab0caa54bb6167f4c36fc907373ba3562">shark::benchmarks::DTLZ7</a>, <a class="el" href="structshark_1_1benchmarks_1_1_e_l_l_i1.html#ad057f735d48694e4577bb3b664f5724b">shark::benchmarks::ELLI1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_e_l_l_i2.html#aaf079391316c77a65ed34c9b557665ba">shark::benchmarks::ELLI2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_fonseca.html#a2d635b3d70fe1fad575a4a9d9bf65a6b">shark::benchmarks::Fonseca</a>, <a class="el" href="structshark_1_1benchmarks_1_1_g_s_p.html#a10d5b471cd27155bbf91621fcdb0044b">shark::benchmarks::GSP</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r1.html#a6f4db8d88b5604f9884d0d00635ae82b">shark::benchmarks::IHR1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r2.html#a26cb44d476ad02879012ba3394af9e84">shark::benchmarks::IHR2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r3.html#a2768160840bd165202d5fbc4c41f8354">shark::benchmarks::IHR3</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r4.html#aaf4d03780a4727d33afada0d107a6d6a">shark::benchmarks::IHR4</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r6.html#ac2eb5c42866cf96fb6410647b340e32d">shark::benchmarks::IHR6</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z1.html#ab3df9ff40d44b994c26b22f6c57d61cd">shark::benchmarks::LZ1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z2.html#ac3a3e0a29c605b03fcce8fc9b8519f49">shark::benchmarks::LZ2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z3.html#a92c8d6c2777e0d0c776094b4595fa27b">shark::benchmarks::LZ3</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z4.html#ac423359461f0098ca2882e0dc1fcd7fa">shark::benchmarks::LZ4</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z5.html#af772638898076f3dffb0bcc79e267881">shark::benchmarks::LZ5</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z6.html#a4b067d6c7303c98b06e077a983f50058">shark::benchmarks::LZ6</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z7.html#a6945e16e5b914f43fcc52e925e08b819">shark::benchmarks::LZ7</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z8.html#ab3f4159d33c9062993e75bd555806fb3">shark::benchmarks::LZ8</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z9.html#a41aec3ea071af00895eb7a3f8adbfc2c">shark::benchmarks::LZ9</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t1.html#a1ee1eb2e9b66e8b724828244c04a131e">shark::benchmarks::ZDT1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t2.html#ad5986014a229ca617473aa69af2312bf">shark::benchmarks::ZDT2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t3.html#a534fe1a312c3ea99400c1aaf0eb45154">shark::benchmarks::ZDT3</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t4.html#ad3a074444b700140010cf35284afb06f">shark::benchmarks::ZDT4</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t6.html#ad309637e4588aeab20d0765ccc111752">shark::benchmarks::ZDT6</a>, <a class="el" href="classshark_1_1_kernel_target_alignment.html#a7def66b8de8f3008c5e5382e78509cc8">shark::KernelTargetAlignment&lt; InputType, LabelType &gt;</a>, <a class="el" href="classshark_1_1_negative_log_likelihood.html#ab16ec2478fb6e4c863193554e5eb2047">shark::NegativeLogLikelihood</a>, <a class="el" href="classshark_1_1_cross_validation_error.html#a8c37335d594fe383eeabcae364fa73a9">shark::CrossValidationError&lt; ModelTypeT, LabelTypeT &gt;</a>, <a class="el" href="structshark_1_1_merge_budget_maintenance_strategy_3_01_real_vector_01_4_1_1_merging_problem_function.html#a0674c4dae609a1c36929fe77e6c871c8">shark::MergeBudgetMaintenanceStrategy&lt; RealVector &gt;::MergingProblemFunction</a>, <a class="el" href="classshark_1_1_error_function.html#a23d586d7201fa0c9db910e2d935f7dfe">shark::ErrorFunction&lt; SearchPointType &gt;</a>, <a class="el" href="classshark_1_1_one_norm_regularizer.html#a0c2ba523f8b14ff3c66bfb5d15421543">shark::OneNormRegularizer&lt; SearchPointType &gt;</a>, <a class="el" href="classshark_1_1_two_norm_regularizer.html#a86880f9147269adb0dd29761dcd52ba6">shark::TwoNormRegularizer&lt; SearchPointType &gt;</a>, <a class="el" href="structshark_1_1benchmarks_1_1_discus.html#a162bfacc710ced8f072e38e62251f449">shark::benchmarks::Discus</a>, <a class="el" href="structshark_1_1benchmarks_1_1_rotated_objective_function.html#a831217fb74e7d6245ae90aa34a1ef8de">shark::benchmarks::RotatedObjectiveFunction</a>, <a class="el" href="classshark_1_1_exact_gradient.html#ac633cfe3ffabe6a136ed64243e18dd66">shark::ExactGradient&lt; RBMType &gt;</a>, <a class="el" href="classshark_1_1_radius_margin_quotient.html#ab089f14d5575c3a831d285992f80fcb1">shark::RadiusMarginQuotient&lt; InputType, CacheType &gt;</a>, <a class="el" href="classshark_1_1_svm_logistic_interpretation.html#a67444886b71f0bef297aaa3d396e6b81">shark::SvmLogisticInterpretation&lt; InputType &gt;</a>, <a class="el" href="classshark_1_1_variational_autoencoder_error.html#a1c248c666ed60b7f985a5e05f2a822c8">shark::VariationalAutoencoderError&lt; SearchPointType &gt;</a>, <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#abf89308463d5531a8e131c106abed7fe">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;</a>, and <a class="el" href="structshark_1_1benchmarks_1_1_sphere.html#aa728229e1271c45834f6d08b6cc24a69">shark::benchmarks::Sphere</a>.</p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00275">275</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aad3475b458576c8760f28d8d81f4eda86">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::HAS_VALUE</a>, and <a class="el" href="_flags_8h.html#a6e41326253dee198183b5cbde3570c6c">SHARK_FEATURE_EXCEPTION</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_evaluation_archive.html#aa398b0fa85ebc951b7273248019247de">shark::EvaluationArchive&lt; PointType, ResultT &gt;::eval()</a>, <a class="el" href="classshark_1_1_error_function.html#a23d586d7201fa0c9db910e2d935f7dfe">shark::ErrorFunction&lt; SearchPointType &gt;::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_rotated_objective_function.html#a831217fb74e7d6245ae90aa34a1ef8de">shark::benchmarks::RotatedObjectiveFunction::eval()</a>, <a class="el" href="classshark_1_1_exact_gradient.html#ac633cfe3ffabe6a136ed64243e18dd66">shark::ExactGradient&lt; RBMType &gt;::eval()</a>, <a class="el" href="classshark_1_1_indicator_based_m_o_c_m_a.html#a015efc8d71a2dbc53aef7a5be2895ce2">shark::IndicatorBasedMOCMA&lt; Indicator &gt;::init()</a>, <a class="el" href="classshark_1_1_indicator_based_real_coded_n_s_g_a_i_i.html#aa7be0351f6549d3a2c25405c10c28d3e">shark::IndicatorBasedRealCodedNSGAII&lt; Indicator &gt;::init()</a>, <a class="el" href="classshark_1_1_s_m_s_e_m_o_a.html#ac3c42fb3fa621d61e42c0d8cfa3de003">shark::SMSEMOA::init()</a>, <a class="el" href="classshark_1_1_indicator_based_steady_state_m_o_c_m_a.html#ab04e4ddfa160150c997d059c1f656bc6">shark::IndicatorBasedSteadyStateMOCMA&lt; Indicator &gt;::init()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#aa79994e4b70d92fd30e62be20145ebd9">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::operator()()</a>, <a class="el" href="classshark_1_1_validated_stopping_criterion.html#af9d9d15bbdebb8dbccc1f17a0eff4ccf">shark::ValidatedStoppingCriterion::stop()</a>, and <a class="el" href="classshark_1_1_two_point_step_size_adaptation.html#ab05207bccc1bacfaa163727a239099b2">shark::TwoPointStepSizeAdaptation::update()</a>.</p>

</div>
</div>
<a id="a53df2ac5d82c608ea938dc1e3a0c0617" name="a53df2ac5d82c608ea938dc1e3a0c0617"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53df2ac5d82c608ea938dc1e3a0c0617">&#9670;&#160;</a></span>evalDerivative() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classshark_1_1_abstract_objective_function.html#a70f0672a3c3b24c437c81243624b5307">ResultType</a> <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::evalDerivative </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> const &amp;&#160;</td>
          <td class="paramname"><em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_objective_function.html#a29804371954a360f09696adea7cfd839">FirstOrderDerivative</a> &amp;&#160;</td>
          <td class="paramname"><em>derivative</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Evaluates the objective function and calculates its gradient. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>The argument to eval the function for. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">derivative</td><td>The derivate is placed here. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The result of evaluating the function for the supplied argument. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">FeatureNotAvailableException</td><td>in the default implementation and if a function does not support this feature. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="classshark_1_1_negative_gaussian_process_evidence.html#a4bbd89a9d2c47ecc601fb23567715b0d">shark::NegativeGaussianProcessEvidence&lt; InputType, OutputType, LabelType &gt;</a>, <a class="el" href="structshark_1_1_merge_budget_maintenance_strategy_3_01_real_vector_01_4_1_1_merging_problem_function.html#a065cb2154a49e6948f7d6a59cf2cd49c">shark::MergeBudgetMaintenanceStrategy&lt; RealVector &gt;::MergingProblemFunction</a>, <a class="el" href="classshark_1_1_evaluation_archive.html#a8799c0f6863bd80086fb1db661432200">shark::EvaluationArchive&lt; PointType, ResultT &gt;</a>, <a class="el" href="classshark_1_1_kernel_target_alignment.html#ad1f1d75eea4b7a91498a4b62972b4efb">shark::KernelTargetAlignment&lt; InputType, LabelType &gt;</a>, <a class="el" href="structshark_1_1benchmarks_1_1_ellipsoid.html#aca3889c57e0adb5af1ac49bc38be9d78">shark::benchmarks::Ellipsoid</a>, <a class="el" href="structshark_1_1benchmarks_1_1_rosenbrock.html#a2fec6001dddb00499e3929d2288b706c">shark::benchmarks::Rosenbrock</a>, <a class="el" href="classshark_1_1_negative_log_likelihood.html#aa877cede0623b9d651f8385f9b611c82">shark::NegativeLogLikelihood</a>, <a class="el" href="structshark_1_1benchmarks_1_1_cigar.html#ac9fdc7cf8b3914d66f9c3c032d14d95e">shark::benchmarks::Cigar</a>, <a class="el" href="structshark_1_1benchmarks_1_1_discus.html#a4f5200c7e8dae24f46b73337564992cc">shark::benchmarks::Discus</a>, <a class="el" href="structshark_1_1benchmarks_1_1_rotated_objective_function.html#a7454a4af99d7620038fd3970649ba561">shark::benchmarks::RotatedObjectiveFunction</a>, <a class="el" href="classshark_1_1_contrastive_divergence.html#a62d35d6d633fd3688fcfa2fe8926ad0d">shark::ContrastiveDivergence&lt; Operator &gt;</a>, <a class="el" href="classshark_1_1_exact_gradient.html#aef523213c55d8c9c6261abfe3c4c6bcf">shark::ExactGradient&lt; RBMType &gt;</a>, <a class="el" href="classshark_1_1_multi_chain_approximator.html#acc8b9a5b1df621311dfc54ef5a70e2e4">shark::MultiChainApproximator&lt; MarkovChainType &gt;</a>, <a class="el" href="classshark_1_1_single_chain_approximator.html#ae8a55add4de41e9c37141e14eda96fee">shark::SingleChainApproximator&lt; MarkovChainType &gt;</a>, <a class="el" href="classshark_1_1_radius_margin_quotient.html#a61c0b73eaf10d43b9a1af891fc51dd5f">shark::RadiusMarginQuotient&lt; InputType, CacheType &gt;</a>, <a class="el" href="classshark_1_1_svm_logistic_interpretation.html#aaf23373024f5c16cb6de60ee2c4fc2c8">shark::SvmLogisticInterpretation&lt; InputType &gt;</a>, <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a99fc595131c5c87ae6d73377c1b4368a">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;</a>, and <a class="el" href="structshark_1_1benchmarks_1_1_sphere.html#a226c6e4e20b50e028829fa4898947b7c">shark::benchmarks::Sphere</a>.</p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00290">290</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa0bc7673a369df5f86ddd6ba6735f4971">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::HAS_FIRST_DERIVATIVE</a>, and <a class="el" href="_flags_8h.html#a6e41326253dee198183b5cbde3570c6c">SHARK_FEATURE_EXCEPTION</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_evaluation_archive.html#a8799c0f6863bd80086fb1db661432200">shark::EvaluationArchive&lt; PointType, ResultT &gt;::evalDerivative()</a>, <a class="el" href="classshark_1_1_evaluation_archive.html#ae9a5a5832825e2087b7fb586576dde0e">shark::EvaluationArchive&lt; PointType, ResultT &gt;::evalDerivative()</a>, <a class="el" href="classshark_1_1_error_function.html#a4a037354234ee0898c8a77339c1477d6">shark::ErrorFunction&lt; SearchPointType &gt;::evalDerivative()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_rotated_objective_function.html#a7454a4af99d7620038fd3970649ba561">shark::benchmarks::RotatedObjectiveFunction::evalDerivative()</a>, <a class="el" href="classshark_1_1_contrastive_divergence.html#a62d35d6d633fd3688fcfa2fe8926ad0d">shark::ContrastiveDivergence&lt; Operator &gt;::evalDerivative()</a>, <a class="el" href="classshark_1_1_exact_gradient.html#aef523213c55d8c9c6261abfe3c4c6bcf">shark::ExactGradient&lt; RBMType &gt;::evalDerivative()</a>, <a class="el" href="classshark_1_1_multi_chain_approximator.html#acc8b9a5b1df621311dfc54ef5a70e2e4">shark::MultiChainApproximator&lt; MarkovChainType &gt;::evalDerivative()</a>, <a class="el" href="classshark_1_1_single_chain_approximator.html#ae8a55add4de41e9c37141e14eda96fee">shark::SingleChainApproximator&lt; MarkovChainType &gt;::evalDerivative()</a>, <a class="el" href="classshark_1_1_adam.html#a05893bc5dc81a6fccd0b9a0a15415770">shark::Adam&lt; SearchPointType &gt;::init()</a>, <a class="el" href="classshark_1_1_steepest_descent.html#ad8a11c43e286716c78eddcaad85e2c35">shark::SteepestDescent&lt; SearchPointType &gt;::init()</a>, <a class="el" href="classshark_1_1_adam.html#aad42982976c3e91534ac33999d7c6fc3">shark::Adam&lt; SearchPointType &gt;::step()</a>, and <a class="el" href="classshark_1_1_steepest_descent.html#a481c680541979d1827c1b386203ee4e2">shark::SteepestDescent&lt; SearchPointType &gt;::step()</a>.</p>

</div>
</div>
<a id="a23274e2befc7530c8d63834e21a3fa78" name="a23274e2befc7530c8d63834e21a3fa78"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23274e2befc7530c8d63834e21a3fa78">&#9670;&#160;</a></span>evalDerivative() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classshark_1_1_abstract_objective_function.html#a70f0672a3c3b24c437c81243624b5307">ResultType</a> <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::evalDerivative </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> const &amp;&#160;</td>
          <td class="paramname"><em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structshark_1_1_abstract_objective_function_1_1_second_order_derivative.html">SecondOrderDerivative</a> &amp;&#160;</td>
          <td class="paramname"><em>derivative</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Evaluates the objective function and calculates its gradient. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>The argument to eval the function for. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">derivative</td><td>The derivate and the Hessian are placed here. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The result of evaluating the function for the supplied argument. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">FeatureNotAvailableException</td><td>in the default implementation and if a function does not support this feature. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="classshark_1_1_evaluation_archive.html#ae9a5a5832825e2087b7fb586576dde0e">shark::EvaluationArchive&lt; PointType, ResultT &gt;</a>, <a class="el" href="structshark_1_1benchmarks_1_1_ellipsoid.html#a0b823473fd9f8d05d4fc096eef853773">shark::benchmarks::Ellipsoid</a>, and <a class="el" href="structshark_1_1benchmarks_1_1_rosenbrock.html#af79cef1d212aabe7f927430f20557148">shark::benchmarks::Rosenbrock</a>.</p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00300">300</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa2a3534a8bfd17ffc9f39a2892dc03858">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::HAS_SECOND_DERIVATIVE</a>, and <a class="el" href="_flags_8h.html#a6e41326253dee198183b5cbde3570c6c">SHARK_FEATURE_EXCEPTION</a>.</p>

</div>
</div>
<a id="afaa9cc39ccb4d74a0d6db0ae2d087051" name="afaa9cc39ccb4d74a0d6db0ae2d087051"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afaa9cc39ccb4d74a0d6db0ae2d087051">&#9670;&#160;</a></span>evaluationCounter()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::size_t <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::evaluationCounter </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Accesses the evaluation counter of the function. </p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00222">222</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#af0942c072be06d0dd4da5ee7067c5777">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::m_evaluationCounter</a>.</p>

<p class="reference">Referenced by <a class="el" href="_archive_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main()</a>, and <a class="el" href="logistic__regression___l_b_f_g_s_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main()</a>.</p>

</div>
</div>
<a id="a755673593a64a978a91ac3398c390d4b" name="a755673593a64a978a91ac3398c390d4b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a755673593a64a978a91ac3398c390d4b">&#9670;&#160;</a></span>features()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classshark_1_1_abstract_objective_function.html#a015ecb970cd0f5dac73e727fdcc0afec">Features</a> &amp; <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::features </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00123">123</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_combined_objective_function.html#a2e21cb1bcbdcdd072710bc30426de0a2">shark::CombinedObjectiveFunction&lt; SearchPointType, ResultT &gt;::add()</a>, <a class="el" href="classshark_1_1_error_function.html#aee0d9267985a8742305477a0701ca9bc">shark::ErrorFunction&lt; SearchPointType &gt;::ErrorFunction()</a>, <a class="el" href="classshark_1_1_error_function.html#aa240c92f5dbf5a5ccdc245843a81a0e6">shark::ErrorFunction&lt; SearchPointType &gt;::ErrorFunction()</a>, <a class="el" href="classshark_1_1_error_function.html#a53d7766a61d4ccf85d684bfe2d6e4585">shark::ErrorFunction&lt; SearchPointType &gt;::ErrorFunction()</a>, and <a class="el" href="classshark_1_1_evaluation_archive.html#aa956ce92d2f105bc7d744519063b234d">shark::EvaluationArchive&lt; PointType, ResultT &gt;::EvaluationArchive()</a>.</p>

</div>
</div>
<a id="a714edd6cc680adf04d5d12d7e845544f" name="a714edd6cc680adf04d5d12d7e845544f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a714edd6cc680adf04d5d12d7e845544f">&#9670;&#160;</a></span>getConstraintHandler()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_abstract_constraint_handler.html">AbstractConstraintHandler</a>&lt; <a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> &gt; const  &amp; <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::getConstraintHandler </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the constraint handler of the function if it has one. </p>
<p>If the function does not offer a constraint handler, an exception is thrown. </p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00229">229</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#abcb65bca56cbfead4a3956e81d0d97d8">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::m_constraintHandler</a>, and <a class="el" href="_exception_8h.html#adce1f80097c69010f5eab2618fa2e971">SHARK_RUNTIME_CHECK</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_abstract_objective_function.html#a68b3dfe1642e13693b5ab610f3fc5f79">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::closestFeasible()</a>, <a class="el" href="classshark_1_1_evaluation_archive.html#aa956ce92d2f105bc7d744519063b234d">shark::EvaluationArchive&lt; PointType, ResultT &gt;::EvaluationArchive()</a>, <a class="el" href="classshark_1_1_indicator_based_real_coded_n_s_g_a_i_i.html#aa7be0351f6549d3a2c25405c10c28d3e">shark::IndicatorBasedRealCodedNSGAII&lt; Indicator &gt;::init()</a>, <a class="el" href="classshark_1_1_s_m_s_e_m_o_a.html#ac3c42fb3fa621d61e42c0d8cfa3de003">shark::SMSEMOA::init()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#a152c45a40169bf31cead2b9169a5367c">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::isFeasible()</a>, and <a class="el" href="classshark_1_1_abstract_objective_function.html#acd2922036a6388fde1173490079bb22b">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::proposeStartingPoint()</a>.</p>

</div>
</div>
<a id="a8d14fcc84cd963a1f6d9d7c8477bd3ee" name="a8d14fcc84cd963a1f6d9d7c8477bd3ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d14fcc84cd963a1f6d9d7c8477bd3ee">&#9670;&#160;</a></span>hasConstraintHandler()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::hasConstraintHandler </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>returns whether this function can return </p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00151">151</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa7decd0dc83d8de4fcec02d4e27251dd5">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::HAS_CONSTRAINT_HANDLER</a>, and <a class="el" href="classshark_1_1_abstract_objective_function.html#ad8888c58fd3f98e73013afb5dd4b2af1">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::m_features</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_abstract_objective_function.html#a68b3dfe1642e13693b5ab610f3fc5f79">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::closestFeasible()</a>, <a class="el" href="classshark_1_1_evaluation_archive.html#aa956ce92d2f105bc7d744519063b234d">shark::EvaluationArchive&lt; PointType, ResultT &gt;::EvaluationArchive()</a>, <a class="el" href="classshark_1_1_indicator_based_real_coded_n_s_g_a_i_i.html#aa7be0351f6549d3a2c25405c10c28d3e">shark::IndicatorBasedRealCodedNSGAII&lt; Indicator &gt;::init()</a>, <a class="el" href="classshark_1_1_s_m_s_e_m_o_a.html#ac3c42fb3fa621d61e42c0d8cfa3de003">shark::SMSEMOA::init()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#a152c45a40169bf31cead2b9169a5367c">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::isFeasible()</a>, and <a class="el" href="classshark_1_1_abstract_objective_function.html#acd2922036a6388fde1173490079bb22b">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::proposeStartingPoint()</a>.</p>

</div>
</div>
<a id="aec3465e02d80e79445df299cf8531fcc" name="aec3465e02d80e79445df299cf8531fcc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec3465e02d80e79445df299cf8531fcc">&#9670;&#160;</a></span>hasFirstDerivative()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::hasFirstDerivative </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>returns whether this function can calculate the first derivative </p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00131">131</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa0bc7673a369df5f86ddd6ba6735f4971">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::HAS_FIRST_DERIVATIVE</a>, and <a class="el" href="classshark_1_1_abstract_objective_function.html#ad8888c58fd3f98e73013afb5dd4b2af1">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::m_features</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_abstract_optimizer.html#ae7a23300641448c761b6aa0305b7ef66">shark::AbstractOptimizer&lt; PointType, ResultT, SolutionTypeT &gt;::checkFeatures()</a>, and <a class="el" href="structshark_1_1benchmarks_1_1_rotated_objective_function.html#abc34880a75d766d9ec8e2cd835ee3a8d">shark::benchmarks::RotatedObjectiveFunction::RotatedObjectiveFunction()</a>.</p>

</div>
</div>
<a id="a24751b2fc6f327053938dc92ff01384a" name="a24751b2fc6f327053938dc92ff01384a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24751b2fc6f327053938dc92ff01384a">&#9670;&#160;</a></span>hasScalableDimensionality()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::hasScalableDimensionality </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented in <a class="el" href="structshark_1_1benchmarks_1_1_ackley.html#abb925f67c2f6c183e3809729cf252d9a">shark::benchmarks::Ackley</a>, <a class="el" href="structshark_1_1benchmarks_1_1_cigar.html#a6b1c11acfee4fbc235213b6d213d4def">shark::benchmarks::Cigar</a>, <a class="el" href="classshark_1_1benchmarks_1_1_cigar_discus.html#a6f6615a1a19a2cc6c4ff63b9b40b60c9">shark::benchmarks::CigarDiscus</a>, <a class="el" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b1.html#ad5201a02f54acd0901c54efcb0486135">shark::benchmarks::CIGTAB1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b2.html#a30990e165b5b9629785b66085478471f">shark::benchmarks::CIGTAB2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_constrained_sphere.html#a226555db40171781d48bf256a4604f8a">shark::benchmarks::ConstrainedSphere</a>, <a class="el" href="structshark_1_1benchmarks_1_1_diff_powers.html#a33a7e5251354c4abc01a779a4a3c668a">shark::benchmarks::DiffPowers</a>, <a class="el" href="structshark_1_1benchmarks_1_1_discus.html#a826a05bc82d682d23db96146c8a16a2b">shark::benchmarks::Discus</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z1.html#a63b0e1f75b5068ce8130022af5efb721">shark::benchmarks::DTLZ1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z2.html#a21386d1a3449437fcd241a6ec8845b63">shark::benchmarks::DTLZ2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z3.html#ad4402ad48ca3279fc408819cfe1b7646">shark::benchmarks::DTLZ3</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z4.html#ac6d6021498420815e568e8b86648c3c1">shark::benchmarks::DTLZ4</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z5.html#a1586da1d29e86c1619394503f37d421a">shark::benchmarks::DTLZ5</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z6.html#acc76bfaae7b8fb05aec0fe43927155e9">shark::benchmarks::DTLZ6</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z7.html#a62912a74fbbf6f0ba2dcab6a45dca48b">shark::benchmarks::DTLZ7</a>, <a class="el" href="structshark_1_1benchmarks_1_1_e_l_l_i1.html#acee22d92eac2cc1e141789b5772ef906">shark::benchmarks::ELLI1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_e_l_l_i2.html#a9bf5e5ebc46d91890bf4204b48e9cf33">shark::benchmarks::ELLI2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_ellipsoid.html#adead07c767ca133aef75e07036e0f5af">shark::benchmarks::Ellipsoid</a>, <a class="el" href="structshark_1_1benchmarks_1_1_fonseca.html#ac9d13291d66a2c1d9860fe592e638e11">shark::benchmarks::Fonseca</a>, <a class="el" href="structshark_1_1benchmarks_1_1_g_s_p.html#a2ec99d52e35838039d6cc60a1f818eb9">shark::benchmarks::GSP</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r1.html#ad22165cfc873ad9185c36547534b19b4">shark::benchmarks::IHR1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r2.html#ad68c8771dbf27252e55a25d2f0b72ff7">shark::benchmarks::IHR2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r3.html#a1bae6babdbd67832188fb70db58e0633">shark::benchmarks::IHR3</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r4.html#a9d6955c00ab012b3b7aa19fd8018d001">shark::benchmarks::IHR4</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r6.html#a59fe3850ca1dddbd035ed7abdf18013a">shark::benchmarks::IHR6</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z1.html#accb56e066ede0fa10d1ea1bf00fc7884">shark::benchmarks::LZ1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z2.html#a7c1862d3c9a260552c9877b6f45771b1">shark::benchmarks::LZ2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z3.html#ab293d0025bbc62de227a913a0f162310">shark::benchmarks::LZ3</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z4.html#a44d491a7b984bff425645239c0a38132">shark::benchmarks::LZ4</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z5.html#a820c98c100f783c7e3bdc5feb93e4625">shark::benchmarks::LZ5</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z6.html#aa608f99c292dcfbbda65487be3cba52b">shark::benchmarks::LZ6</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z7.html#aefb00abc191014156d783889411df26a">shark::benchmarks::LZ7</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z8.html#a4883d22b5c6d5621b8368f6d254bd0dd">shark::benchmarks::LZ8</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z9.html#ac1a603398ba66db3a597693ea941bce8">shark::benchmarks::LZ9</a>, <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a6189640d3576bf04b9dea6e734ae3f6b">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;</a>, <a class="el" href="structshark_1_1benchmarks_1_1_rosenbrock.html#a4a193a486822065af1732a33b1c34460">shark::benchmarks::Rosenbrock</a>, <a class="el" href="structshark_1_1benchmarks_1_1_rotated_objective_function.html#ac8ebe27e9cc5a2d2d2af386d5107a081">shark::benchmarks::RotatedObjectiveFunction</a>, <a class="el" href="structshark_1_1benchmarks_1_1_schwefel.html#aef8f3bb2ba46b99cdc0cb2cafc46e6b4">shark::benchmarks::Schwefel</a>, <a class="el" href="structshark_1_1benchmarks_1_1_sphere.html#aaedcacc617ca05362724d91b72d80ec5">shark::benchmarks::Sphere</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t1.html#afe26838a79d8b91a5af6ae74bd0e7bc7">shark::benchmarks::ZDT1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t2.html#a7c6d56d1ff0b1e50bc4c4285cbe0bb47">shark::benchmarks::ZDT2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t3.html#a1991974f7eb05b4cb7c4b4ce370271a9">shark::benchmarks::ZDT3</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t4.html#a773be4cad1d7019e2ec18bcb51560f11">shark::benchmarks::ZDT4</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t6.html#ad46df71f6d48e93a2618d8596c39d245">shark::benchmarks::ZDT6</a>, <a class="el" href="classshark_1_1_one_norm_regularizer.html#ae605e3e0c17b2a9e50834719377ea736">shark::OneNormRegularizer&lt; SearchPointType &gt;</a>, and <a class="el" href="classshark_1_1_two_norm_regularizer.html#af8a7425825da2e5ae432442445422812">shark::TwoNormRegularizer&lt; SearchPointType &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00197">197</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="structshark_1_1benchmarks_1_1_rotated_objective_function.html#ac8ebe27e9cc5a2d2d2af386d5107a081">shark::benchmarks::RotatedObjectiveFunction::hasScalableDimensionality()</a>.</p>

</div>
</div>
<a id="ae58a543d7cccc6c66e3a7d8ce762fc01" name="ae58a543d7cccc6c66e3a7d8ce762fc01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae58a543d7cccc6c66e3a7d8ce762fc01">&#9670;&#160;</a></span>hasScalableObjectives()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::hasScalableObjectives </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented in <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z1.html#a39b8fad71f91126766c78a78fd5d2f95">shark::benchmarks::DTLZ1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z2.html#a865ee1a32d5864bb24df3d8057d80663">shark::benchmarks::DTLZ2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z3.html#a748940802cc119d2c7ae6b0e2f254f26">shark::benchmarks::DTLZ3</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z4.html#ad78ab5bf1d352e0a87063649dfe9072f">shark::benchmarks::DTLZ4</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z5.html#a8a6c1cd0eaacd93476eab636f9da686a">shark::benchmarks::DTLZ5</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z6.html#aab49dd123e0ab685b5b44c4e518fd1d4">shark::benchmarks::DTLZ6</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z7.html#a3e32c7e79261e14605bc6a2810362c8f">shark::benchmarks::DTLZ7</a>, and <a class="el" href="classshark_1_1_evaluation_archive.html#a52d67e19ef41cc1656e7528b84acb58e">shark::EvaluationArchive&lt; PointType, ResultT &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00210">210</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_evaluation_archive.html#a52d67e19ef41cc1656e7528b84acb58e">shark::EvaluationArchive&lt; PointType, ResultT &gt;::hasScalableObjectives()</a>.</p>

</div>
</div>
<a id="a9f5d2c0fa504de1e3b5a66363c826f08" name="a9f5d2c0fa504de1e3b5a66363c826f08"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f5d2c0fa504de1e3b5a66363c826f08">&#9670;&#160;</a></span>hasSecondDerivative()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::hasSecondDerivative </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>returns whether this function can calculate the second derivative </p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00136">136</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa2a3534a8bfd17ffc9f39a2892dc03858">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::HAS_SECOND_DERIVATIVE</a>, and <a class="el" href="classshark_1_1_abstract_objective_function.html#ad8888c58fd3f98e73013afb5dd4b2af1">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::m_features</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_abstract_optimizer.html#ae7a23300641448c761b6aa0305b7ef66">shark::AbstractOptimizer&lt; PointType, ResultT, SolutionTypeT &gt;::checkFeatures()</a>.</p>

</div>
</div>
<a id="a7d4be77b4100781bbd7ca50bcf68c94f" name="a7d4be77b4100781bbd7ca50bcf68c94f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d4be77b4100781bbd7ca50bcf68c94f">&#9670;&#160;</a></span>hasValue()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::hasValue </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>returns whether this function can calculate it's function value </p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00126">126</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aad3475b458576c8760f28d8d81f4eda86">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::HAS_VALUE</a>, and <a class="el" href="classshark_1_1_abstract_objective_function.html#ad8888c58fd3f98e73013afb5dd4b2af1">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::m_features</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_abstract_optimizer.html#ae7a23300641448c761b6aa0305b7ef66">shark::AbstractOptimizer&lt; PointType, ResultT, SolutionTypeT &gt;::checkFeatures()</a>.</p>

</div>
</div>
<a id="abe4776a85c4ce622c25f3290fa1395d1" name="abe4776a85c4ce622c25f3290fa1395d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe4776a85c4ce622c25f3290fa1395d1">&#9670;&#160;</a></span>init()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::init </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented in <a class="el" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b1.html#aca3944500a5ff641a6953779d1a9ddcc">shark::benchmarks::CIGTAB1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b2.html#a378192b95c616850fa29789990702ff7">shark::benchmarks::CIGTAB2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_e_l_l_i1.html#abc954f9ae65aceeb13cf8872765c2282">shark::benchmarks::ELLI1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_e_l_l_i2.html#a77dcade2f01cddb4879bb472ee00f3be">shark::benchmarks::ELLI2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r1.html#a12b03c97f5968b029df2deb6f798182f">shark::benchmarks::IHR1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r2.html#ac577de4262b28f14877642b2853b82e4">shark::benchmarks::IHR2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r3.html#a5790f2cce54e8082b1609d51b78063e2">shark::benchmarks::IHR3</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r4.html#af35dea9eca62492c70f9fd081b401f01">shark::benchmarks::IHR4</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r6.html#aaf5b811324aac739602144691c8984ae">shark::benchmarks::IHR6</a>, <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a542adb82f194ccc98c4f63b27fe2b5d1">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;</a>, <a class="el" href="structshark_1_1benchmarks_1_1_rotated_objective_function.html#aade55634541439051253553179f9ed49">shark::benchmarks::RotatedObjectiveFunction</a>, <a class="el" href="classshark_1_1_combined_objective_function.html#a84e806179b62ca8fa83a5408671f2dd1">shark::CombinedObjectiveFunction&lt; SearchPointType, ResultT &gt;</a>, <a class="el" href="classshark_1_1_error_function.html#a6ba22ddebbfc72a20503c9089e59abe8">shark::ErrorFunction&lt; SearchPointType &gt;</a>, and <a class="el" href="classshark_1_1_evaluation_archive.html#a2256ac033c4c015346fc88197d9a42c9">shark::EvaluationArchive&lt; PointType, ResultT &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00177">177</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#af0942c072be06d0dd4da5ee7067c5777">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::m_evaluationCounter</a>.</p>

<p class="reference">Referenced by <a class="el" href="structshark_1_1benchmarks_1_1_rotated_objective_function.html#aade55634541439051253553179f9ed49">shark::benchmarks::RotatedObjectiveFunction::init()</a>, <a class="el" href="classshark_1_1_evaluation_archive.html#a2256ac033c4c015346fc88197d9a42c9">shark::EvaluationArchive&lt; PointType, ResultT &gt;::init()</a>, <a class="el" href="_binary_r_b_m_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main()</a>, <a class="el" href="_m_o_c_m_a_approximated_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main()</a>, <a class="el" href="_c_svm_max_likelihood_m_s_8cpp.html#a28267e6f7ec1120183ffd7ae7a9a60d2">run_one_trial()</a>, and <a class="el" href="_deep_network_training_r_b_m_8cpp.html#a05058126c2d28e9b8008edd10500114d">trainRBM()</a>.</p>

</div>
</div>
<a id="a2a03eac74b7cac35c5d510ab12599393" name="a2a03eac74b7cac35c5d510ab12599393"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a03eac74b7cac35c5d510ab12599393">&#9670;&#160;</a></span>isConstrained()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::isConstrained </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>returns whether this function can return </p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00146">146</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa0574c1ccb7c3791cc09bae4a7198429a">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::IS_CONSTRAINED_FEATURE</a>, and <a class="el" href="classshark_1_1_abstract_objective_function.html#ad8888c58fd3f98e73013afb5dd4b2af1">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::m_features</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_abstract_optimizer.html#ae7a23300641448c761b6aa0305b7ef66">shark::AbstractOptimizer&lt; PointType, ResultT, SolutionTypeT &gt;::checkFeatures()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#a68b3dfe1642e13693b5ab610f3fc5f79">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::closestFeasible()</a>, <a class="el" href="classshark_1_1_indicator_based_real_coded_n_s_g_a_i_i.html#aa7be0351f6549d3a2c25405c10c28d3e">shark::IndicatorBasedRealCodedNSGAII&lt; Indicator &gt;::init()</a>, and <a class="el" href="classshark_1_1_abstract_objective_function.html#a152c45a40169bf31cead2b9169a5367c">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::isFeasible()</a>.</p>

</div>
</div>
<a id="a152c45a40169bf31cead2b9169a5367c" name="a152c45a40169bf31cead2b9169a5367c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a152c45a40169bf31cead2b9169a5367c">&#9670;&#160;</a></span>isFeasible()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::isFeasible </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> &amp;&#160;</td>
          <td class="paramname"><em>input</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tests whether a point in SearchSpace is feasible, e.g., whether the constraints are fulfilled. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">input</td><td>The point to be tested for feasibility. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the point is feasible, false otherwise. </dd></dl>

<p>Reimplemented in <a class="el" href="classshark_1_1_evaluation_archive.html#ae12c833605409ece5925889fe6afc25c">shark::EvaluationArchive&lt; PointType, ResultT &gt;</a>, <a class="el" href="classshark_1_1_svm_logistic_interpretation.html#a9a2421271fa2504061af8532340529c6">shark::SvmLogisticInterpretation&lt; InputType &gt;</a>, and <a class="el" href="structshark_1_1benchmarks_1_1_constrained_sphere.html#af9ea463927f9265da78256d099c6e2a2">shark::benchmarks::ConstrainedSphere</a>.</p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00237">237</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#a714edd6cc680adf04d5d12d7e845544f">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::getConstraintHandler()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#a8d14fcc84cd963a1f6d9d7c8477bd3ee">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::hasConstraintHandler()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#a2a03eac74b7cac35c5d510ab12599393">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::isConstrained()</a>, and <a class="el" href="_exception_8h.html#adce1f80097c69010f5eab2618fa2e971">SHARK_RUNTIME_CHECK</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_indicator_based_m_o_c_m_a.html#a015efc8d71a2dbc53aef7a5be2895ce2">shark::IndicatorBasedMOCMA&lt; Indicator &gt;::init()</a>, <a class="el" href="classshark_1_1_indicator_based_real_coded_n_s_g_a_i_i.html#aa7be0351f6549d3a2c25405c10c28d3e">shark::IndicatorBasedRealCodedNSGAII&lt; Indicator &gt;::init()</a>, <a class="el" href="classshark_1_1_s_m_s_e_m_o_a.html#ac3c42fb3fa621d61e42c0d8cfa3de003">shark::SMSEMOA::init()</a>, <a class="el" href="classshark_1_1_indicator_based_steady_state_m_o_c_m_a.html#ab04e4ddfa160150c997d059c1f656bc6">shark::IndicatorBasedSteadyStateMOCMA&lt; Indicator &gt;::init()</a>, and <a class="el" href="classshark_1_1_evaluation_archive.html#ae12c833605409ece5925889fe6afc25c">shark::EvaluationArchive&lt; PointType, ResultT &gt;::isFeasible()</a>.</p>

</div>
</div>
<a id="a80a63b56c111cd7c65e5b264c9d84bac" name="a80a63b56c111cd7c65e5b264c9d84bac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80a63b56c111cd7c65e5b264c9d84bac">&#9670;&#160;</a></span>isNoisy()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::isNoisy </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns true, when the function can be usd in parallel threads. </p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00166">166</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa9022946d8a121d3e6c820f58d8cd3d87">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::IS_NOISY</a>, and <a class="el" href="classshark_1_1_abstract_objective_function.html#ad8888c58fd3f98e73013afb5dd4b2af1">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::m_features</a>.</p>

</div>
</div>
<a id="a3b418f50d0e284fe10c92a1c719d5615" name="a3b418f50d0e284fe10c92a1c719d5615"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b418f50d0e284fe10c92a1c719d5615">&#9670;&#160;</a></span>isThreadSafe()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::isThreadSafe </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns true, when the function can be usd in parallel threads. </p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00161">161</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aa155aa01439b358ce00e8cfb9f377fb5f">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::IS_THREAD_SAFE</a>, and <a class="el" href="classshark_1_1_abstract_objective_function.html#ad8888c58fd3f98e73013afb5dd4b2af1">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::m_features</a>.</p>

</div>
</div>
<a id="aa69ec2b8a4e968f30d7ac135af074012" name="aa69ec2b8a4e968f30d7ac135af074012"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa69ec2b8a4e968f30d7ac135af074012">&#9670;&#160;</a></span>numberOfObjectives()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual std::size_t <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::numberOfObjectives </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented in <a class="el" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b1.html#a60da03bfbedfa03a09b14c1c8457c2b4">shark::benchmarks::CIGTAB1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b2.html#a14d6a3c077f2d0b960a35d411e2b0686">shark::benchmarks::CIGTAB2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z1.html#a1377fe88d42f98ac7b6f1609f9a8d759">shark::benchmarks::DTLZ1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z2.html#a6a7cbabf0eeabdb810607b8e041c4d1f">shark::benchmarks::DTLZ2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z3.html#a49d7e211caabe976836bf7cb66994ce6">shark::benchmarks::DTLZ3</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z4.html#ad8a961a37f2f49b56e9167226da36317">shark::benchmarks::DTLZ4</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z5.html#a484ae196080674aad21bd3fe10e54d52">shark::benchmarks::DTLZ5</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z6.html#a9c734171ed4e38c7e2ea679509566bb1">shark::benchmarks::DTLZ6</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z7.html#abfcec3e580aad60413215439deec52e3">shark::benchmarks::DTLZ7</a>, <a class="el" href="structshark_1_1benchmarks_1_1_e_l_l_i1.html#a82bc183478afe2f1584646809f12bc8b">shark::benchmarks::ELLI1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_e_l_l_i2.html#a15881ea77d9e2b1a60cc0f1d48d7ce0d">shark::benchmarks::ELLI2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_fonseca.html#accfd785a0c688c0f4d63e87e36813ce1">shark::benchmarks::Fonseca</a>, <a class="el" href="structshark_1_1benchmarks_1_1_g_s_p.html#a7e81d542842dd12d29af80b2a14dce16">shark::benchmarks::GSP</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r1.html#a559427fdb914834a4174072b9bf11758">shark::benchmarks::IHR1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r2.html#a5706a7a9802cbf0452295e529fcc8594">shark::benchmarks::IHR2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r3.html#a78e39ecb7e0ce635aa82004792493256">shark::benchmarks::IHR3</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r4.html#a9a5774107709b6037dd7c8782fdf62ce">shark::benchmarks::IHR4</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r6.html#afd3cafc16b0c836e2ce5de6999cc2120">shark::benchmarks::IHR6</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z1.html#aaa9dc0d48c474dcd1a90fc20f9976c9b">shark::benchmarks::LZ1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z2.html#a08364bec8d57389932e3dfa2448914f7">shark::benchmarks::LZ2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z3.html#a5cb2f0ebcc28e1009a28ff5c63e28c8b">shark::benchmarks::LZ3</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z4.html#a865fd55d19c334375052555a68623c73">shark::benchmarks::LZ4</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z5.html#a22902c230106a308647d4ea6c0fdd688">shark::benchmarks::LZ5</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z6.html#a90925dd4b4b5175d8897a1368076a1fe">shark::benchmarks::LZ6</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z7.html#a15c0daaebc035b791ea2e28bd485543c">shark::benchmarks::LZ7</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z8.html#ae2b38c375a699e7089d15b2bbb0cb230">shark::benchmarks::LZ8</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z9.html#ae4bbc34b4c5ea110988e3920dc429fd4">shark::benchmarks::LZ9</a>, <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a6a4d8531d457d155aea8258cd2747e51">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t1.html#a62f78e45c8e14c96e70576ca97c9d489">shark::benchmarks::ZDT1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t2.html#a54d10b6a40470783d222e1804360cf01">shark::benchmarks::ZDT2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t3.html#a007b88aa038ff074902cda780965c19f">shark::benchmarks::ZDT3</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t4.html#a3a7e60afd4627cd506a6093a33ce38b1">shark::benchmarks::ZDT4</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t6.html#a25852559e81877fd9f6ee60d83aa5b24">shark::benchmarks::ZDT6</a>, and <a class="el" href="classshark_1_1_evaluation_archive.html#a41da21a960547158600fca2b91873bfa">shark::EvaluationArchive&lt; PointType, ResultT &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00207">207</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_evaluation_archive.html#a41da21a960547158600fca2b91873bfa">shark::EvaluationArchive&lt; PointType, ResultT &gt;::numberOfObjectives()</a>.</p>

</div>
</div>
<a id="a256f6b128af038dfaf9cef1bcd45a426" name="a256f6b128af038dfaf9cef1bcd45a426"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a256f6b128af038dfaf9cef1bcd45a426">&#9670;&#160;</a></span>numberOfVariables()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual std::size_t <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::numberOfVariables </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Accesses the number of variables. </p>

<p>Implemented in <a class="el" href="structshark_1_1_merge_budget_maintenance_strategy_3_01_real_vector_01_4_1_1_merging_problem_function.html#a5643027ade6dc7961b582b3545fa8338">shark::MergeBudgetMaintenanceStrategy&lt; RealVector &gt;::MergingProblemFunction</a>, <a class="el" href="structshark_1_1benchmarks_1_1_ackley.html#a6c3895427eac0acb7b79ccc9f177c3ae">shark::benchmarks::Ackley</a>, <a class="el" href="structshark_1_1benchmarks_1_1_cigar.html#ad32baeea93164f338ac3030b4f0c7efc">shark::benchmarks::Cigar</a>, <a class="el" href="classshark_1_1benchmarks_1_1_cigar_discus.html#ade71ac99b993020d10de6a1f87e17a21">shark::benchmarks::CigarDiscus</a>, <a class="el" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b1.html#ab46ac9805667ec95ad33da289c65b291">shark::benchmarks::CIGTAB1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b2.html#a9bd1901f145feb709256bc5da78b2fac">shark::benchmarks::CIGTAB2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_constrained_sphere.html#a4830b3abcf15959f0f449a8ee85bd82d">shark::benchmarks::ConstrainedSphere</a>, <a class="el" href="structshark_1_1benchmarks_1_1_diff_powers.html#a50fc66d2dba422c62486bd109b38ee13">shark::benchmarks::DiffPowers</a>, <a class="el" href="structshark_1_1benchmarks_1_1_discus.html#a8bd7a64d12a573e72d154c33386b09d1">shark::benchmarks::Discus</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z1.html#a5ac72fec315b230134c4e93b43c1660b">shark::benchmarks::DTLZ1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z2.html#a0a7350eb1f44ebccb87066dd4570aec4">shark::benchmarks::DTLZ2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z3.html#adeb7a516bbe371d44132a04093190cca">shark::benchmarks::DTLZ3</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z4.html#a882ed27af77335bcd94c2fb4b53eaca5">shark::benchmarks::DTLZ4</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z5.html#a3818729cb70ef38dd1b116466209d22f">shark::benchmarks::DTLZ5</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z6.html#a00549558010e2f07325b203bffcf50f3">shark::benchmarks::DTLZ6</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z7.html#a1d7c37461d6793978f0859162f27ec65">shark::benchmarks::DTLZ7</a>, <a class="el" href="structshark_1_1benchmarks_1_1_e_l_l_i1.html#a57846bef65024e7ee2b7c6971581fa96">shark::benchmarks::ELLI1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_e_l_l_i2.html#a9fab63d5c81cc2fa16b9da7aa7d16875">shark::benchmarks::ELLI2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_ellipsoid.html#a359164f92ba3d0f3670f0f8d0d3652d3">shark::benchmarks::Ellipsoid</a>, <a class="el" href="structshark_1_1benchmarks_1_1_fonseca.html#a3772896c7492c488c6e0994ebaf4c641">shark::benchmarks::Fonseca</a>, <a class="el" href="structshark_1_1benchmarks_1_1_g_s_p.html#a3a83eb2f4060f3b1a2a492581d81014f">shark::benchmarks::GSP</a>, <a class="el" href="structshark_1_1benchmarks_1_1_himmelblau.html#a8a19c463127bbf938a4f4d0ae6c517d8">shark::benchmarks::Himmelblau</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r1.html#ad2b921ea908c26b1fa16f8e68076b9d3">shark::benchmarks::IHR1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r2.html#a9d097fde181ff5ca770c0df9165ea418">shark::benchmarks::IHR2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r3.html#ae3344394dbc85b0d1bdb454f4fa98b81">shark::benchmarks::IHR3</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r4.html#a00aea1c3de32b95777f13f60feeb798e">shark::benchmarks::IHR4</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r6.html#a5c23b0a18a528488a158fc266836377f">shark::benchmarks::IHR6</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z1.html#a5ed5a457e1f2f871d315371069a3f3f3">shark::benchmarks::LZ1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z2.html#a222d532b85ecee40106cad7a767755f2">shark::benchmarks::LZ2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z3.html#a78a230402c7097c158c4ad889cd889bb">shark::benchmarks::LZ3</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z4.html#ad7e6b46715c5a4cab687366826da2f96">shark::benchmarks::LZ4</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z5.html#ad6061e51dc3c07513998776d486f8086">shark::benchmarks::LZ5</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z6.html#ad40e5e80996160d7e0cb77bf5619c1f3">shark::benchmarks::LZ6</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z7.html#ae41ce997faa816686d24661ea11c917a">shark::benchmarks::LZ7</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z8.html#a1395243b498e4ebe3e6d4eee2151303f">shark::benchmarks::LZ8</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z9.html#a2ac38a74fde39ec0642e1c71feee4312">shark::benchmarks::LZ9</a>, <a class="el" href="classshark_1_1benchmarks_1_1_markov_pole.html#a4928d796a9ebd02f9a2e8485b43bea2a">shark::benchmarks::MarkovPole&lt; HiddenNeuron, OutputNeuron &gt;</a>, <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a4ac98eb92c0a0697790806a9c5acc359">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;</a>, <a class="el" href="classshark_1_1benchmarks_1_1_non_markov_pole.html#a56b23bc7588d0354b73b394188e9a872">shark::benchmarks::NonMarkovPole</a>, <a class="el" href="structshark_1_1benchmarks_1_1_rosenbrock.html#a012d39517313e0ab2e0d4606b49f82bd">shark::benchmarks::Rosenbrock</a>, <a class="el" href="structshark_1_1benchmarks_1_1_rotated_objective_function.html#abfb75d1b0459522b55453876f67de08b">shark::benchmarks::RotatedObjectiveFunction</a>, <a class="el" href="structshark_1_1benchmarks_1_1_schwefel.html#a0dc42548c3f2dea70acbeb31dc4faab9">shark::benchmarks::Schwefel</a>, <a class="el" href="structshark_1_1benchmarks_1_1_sphere.html#aec0e9aa514e01b0c505ab7a0c336ef40">shark::benchmarks::Sphere</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t1.html#ac18d91f6077da5317987295c6adcf904">shark::benchmarks::ZDT1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t2.html#a4dd19370a57dd5d5d982c911a33c4d3a">shark::benchmarks::ZDT2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t3.html#abd21ed221bfb56dbb533fde235428496">shark::benchmarks::ZDT3</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t4.html#a7b703e1f564caf681facbb3935cb0752">shark::benchmarks::ZDT4</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t6.html#aa6482a31d5c7c9dfce3f3a3939c448ff">shark::benchmarks::ZDT6</a>, <a class="el" href="classshark_1_1_combined_objective_function.html#a59adda766aa7c47c1cc2a106bdc4287d">shark::CombinedObjectiveFunction&lt; SearchPointType, ResultT &gt;</a>, <a class="el" href="classshark_1_1_cross_validation_error.html#ae8cc06b22c49dbfe5034578e268bfdb9">shark::CrossValidationError&lt; ModelTypeT, LabelTypeT &gt;</a>, <a class="el" href="classshark_1_1_error_function.html#a398ed5c2c9bb868a8d45e068c5bd245b">shark::ErrorFunction&lt; SearchPointType &gt;</a>, <a class="el" href="classshark_1_1_evaluation_archive.html#a6d3fa4e6d982683059714b679a0f64f5">shark::EvaluationArchive&lt; PointType, ResultT &gt;</a>, <a class="el" href="classshark_1_1_kernel_target_alignment.html#a942e20f87c2c2b7df9fe5ec25f81ef1d">shark::KernelTargetAlignment&lt; InputType, LabelType &gt;</a>, <a class="el" href="classshark_1_1_loo_error.html#ac0261f681ff5438e68e8a29fe64265dc">shark::LooError&lt; ModelTypeT, LabelType &gt;</a>, <a class="el" href="classshark_1_1_loo_error_c_svm.html#a8b79c806757d7d220d3f5c22c473a767">shark::LooErrorCSvm&lt; InputType, CacheType &gt;</a>, <a class="el" href="classshark_1_1_negative_gaussian_process_evidence.html#a1ae734c2f62e91619ac17a437b6fd224">shark::NegativeGaussianProcessEvidence&lt; InputType, OutputType, LabelType &gt;</a>, <a class="el" href="classshark_1_1_negative_log_likelihood.html#a8edad3e44666ff1d9e696bad6cccb985">shark::NegativeLogLikelihood</a>, <a class="el" href="classshark_1_1_radius_margin_quotient.html#a2ad114b67e0b9d29179bb67a52da3760">shark::RadiusMarginQuotient&lt; InputType, CacheType &gt;</a>, <a class="el" href="classshark_1_1_one_norm_regularizer.html#a5879a021a3941223eb98e9ebc26fbe3e">shark::OneNormRegularizer&lt; SearchPointType &gt;</a>, <a class="el" href="classshark_1_1_two_norm_regularizer.html#ac21be0270a24b01540c445dd4b7dab19">shark::TwoNormRegularizer&lt; SearchPointType &gt;</a>, <a class="el" href="classshark_1_1_svm_logistic_interpretation.html#ae710c2360a5059c8f872757bdcb4c631">shark::SvmLogisticInterpretation&lt; InputType &gt;</a>, <a class="el" href="classshark_1_1_variational_autoencoder_error.html#a2ab70e47d4d58df274f7092aac9aff67">shark::VariationalAutoencoderError&lt; SearchPointType &gt;</a>, <a class="el" href="classshark_1_1_contrastive_divergence.html#a30ad9c94feed0c0a74c38e6c3ac81031">shark::ContrastiveDivergence&lt; Operator &gt;</a>, <a class="el" href="classshark_1_1_exact_gradient.html#a4b11a51852eebba4972658b9bf41d26c">shark::ExactGradient&lt; RBMType &gt;</a>, <a class="el" href="classshark_1_1_multi_chain_approximator.html#a993446d642fcad8eb01773477820547a">shark::MultiChainApproximator&lt; MarkovChainType &gt;</a>, and <a class="el" href="classshark_1_1_single_chain_approximator.html#a42c7938b0bb7fd94dcf5d440b81ae1c1">shark::SingleChainApproximator&lt; MarkovChainType &gt;</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_indicator_based_real_coded_n_s_g_a_i_i.html#aa7be0351f6549d3a2c25405c10c28d3e">shark::IndicatorBasedRealCodedNSGAII&lt; Indicator &gt;::init()</a>, <a class="el" href="classshark_1_1_s_m_s_e_m_o_a.html#ac3c42fb3fa621d61e42c0d8cfa3de003">shark::SMSEMOA::init()</a>, <a class="el" href="classshark_1_1_adam.html#a05893bc5dc81a6fccd0b9a0a15415770">shark::Adam&lt; SearchPointType &gt;::init()</a>, <a class="el" href="classshark_1_1_steepest_descent.html#ad8a11c43e286716c78eddcaad85e2c35">shark::SteepestDescent&lt; SearchPointType &gt;::init()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_rotated_objective_function.html#abfb75d1b0459522b55453876f67de08b">shark::benchmarks::RotatedObjectiveFunction::numberOfVariables()</a>, and <a class="el" href="classshark_1_1_evaluation_archive.html#a6d3fa4e6d982683059714b679a0f64f5">shark::EvaluationArchive&lt; PointType, ResultT &gt;::numberOfVariables()</a>.</p>

</div>
</div>
<a id="aa79994e4b70d92fd30e62be20145ebd9" name="aa79994e4b70d92fd30e62be20145ebd9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa79994e4b70d92fd30e62be20145ebd9">&#9670;&#160;</a></span>operator()()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_abstract_objective_function.html#a70f0672a3c3b24c437c81243624b5307">ResultType</a> <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::operator() </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> const &amp;&#160;</td>
          <td class="paramname"><em>input</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Evaluates the function. Useful together with STL-Algorithms like std::transform. </p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00280">280</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#a751c175270f6d6f0bcc1200f333c0045">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::eval()</a>.</p>

</div>
</div>
<a id="acd2922036a6388fde1173490079bb22b" name="acd2922036a6388fde1173490079bb22b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd2922036a6388fde1173490079bb22b">&#9670;&#160;</a></span>proposeStartingPoint()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a> <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::proposeStartingPoint </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Proposes a starting point in the feasible search space of the function. </p>
<dl class="section return"><dt>Returns</dt><dd>The generated starting point. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">FeatureNotAvailableException</td><td>in the default implementation and if a function does not support this feature. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="structshark_1_1benchmarks_1_1_ackley.html#a0c9e13f0da191fcf2a83988ff5680096">shark::benchmarks::Ackley</a>, <a class="el" href="structshark_1_1benchmarks_1_1_cigar.html#aecd195b4f90a5db49e588f1f42602daa">shark::benchmarks::Cigar</a>, <a class="el" href="classshark_1_1benchmarks_1_1_cigar_discus.html#acb893e78074c47fb828f92c7ce3d4c08">shark::benchmarks::CigarDiscus</a>, <a class="el" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b1.html#a6111aa5a41a5c9f602df42e248789d5e">shark::benchmarks::CIGTAB1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b2.html#a211035af2383fc2e8de1e345932dae0e">shark::benchmarks::CIGTAB2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_constrained_sphere.html#a200e3ee72e9f1bb9071b29c1fa10bdad">shark::benchmarks::ConstrainedSphere</a>, <a class="el" href="structshark_1_1benchmarks_1_1_diff_powers.html#a02f3f01a3022c8c7ad0c3008f8080f89">shark::benchmarks::DiffPowers</a>, <a class="el" href="structshark_1_1benchmarks_1_1_discus.html#af9860568c22beffca9fc5f2bcea8d88d">shark::benchmarks::Discus</a>, <a class="el" href="structshark_1_1benchmarks_1_1_e_l_l_i1.html#a6076013de21bd58a9ae061425ea8a2e2">shark::benchmarks::ELLI1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_e_l_l_i2.html#a4309b3cf58d96223d42cd9087bbba6c6">shark::benchmarks::ELLI2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_ellipsoid.html#a8e57d7bff2a231ce93eb809fb08f6382">shark::benchmarks::Ellipsoid</a>, <a class="el" href="structshark_1_1benchmarks_1_1_himmelblau.html#ab023c0be9b7d3f291df132f0f315c0d8">shark::benchmarks::Himmelblau</a>, <a class="el" href="classshark_1_1benchmarks_1_1_markov_pole.html#a88421faf6dfd7200e9050c69de46ba47">shark::benchmarks::MarkovPole&lt; HiddenNeuron, OutputNeuron &gt;</a>, <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a85f5750d889d29fd9cffaa3406a8a166">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;</a>, <a class="el" href="classshark_1_1benchmarks_1_1_non_markov_pole.html#a1476a34b5e8086c8e5d2a1eea5270d59">shark::benchmarks::NonMarkovPole</a>, <a class="el" href="structshark_1_1benchmarks_1_1_rosenbrock.html#ab58f55f1cc973e170f132b1e193fa131">shark::benchmarks::Rosenbrock</a>, <a class="el" href="structshark_1_1benchmarks_1_1_rotated_objective_function.html#ac45c8de9fc95df81191d2bf766193abb">shark::benchmarks::RotatedObjectiveFunction</a>, <a class="el" href="structshark_1_1benchmarks_1_1_schwefel.html#aad3a4189844043269e946af7c43a3a18">shark::benchmarks::Schwefel</a>, <a class="el" href="structshark_1_1benchmarks_1_1_sphere.html#abf22976a98b7e31e9f97945c2c7550c5">shark::benchmarks::Sphere</a>, <a class="el" href="classshark_1_1_error_function.html#addeffd025bf0521615ba91883451a690">shark::ErrorFunction&lt; SearchPointType &gt;</a>, <a class="el" href="classshark_1_1_kernel_target_alignment.html#a5743503781d8d4c9ea42164e0662a281">shark::KernelTargetAlignment&lt; InputType, LabelType &gt;</a>, <a class="el" href="classshark_1_1_negative_log_likelihood.html#a06c546fd3e801511f22028e776eaf981">shark::NegativeLogLikelihood</a>, <a class="el" href="classshark_1_1_variational_autoencoder_error.html#a5e6dd6b42efb979395d221900550c7bb">shark::VariationalAutoencoderError&lt; SearchPointType &gt;</a>, <a class="el" href="classshark_1_1_contrastive_divergence.html#ac24476a87828b2d74f9da679e8d06b57">shark::ContrastiveDivergence&lt; Operator &gt;</a>, <a class="el" href="classshark_1_1_exact_gradient.html#a4ca798c77e7b1cf431b8459b1358b8d5">shark::ExactGradient&lt; RBMType &gt;</a>, <a class="el" href="classshark_1_1_multi_chain_approximator.html#a2ff87fa005fe8314dca5a49c8675adf5">shark::MultiChainApproximator&lt; MarkovChainType &gt;</a>, and <a class="el" href="classshark_1_1_single_chain_approximator.html#aa02497017d33d8929b7a8a21f7baf6b4">shark::SingleChainApproximator&lt; MarkovChainType &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00259">259</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#aadafeb6dfb5b649f321e7b81ac8aad1aab9262b57bb302f04b2561666a9068446">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::CAN_PROPOSE_STARTING_POINT</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#a714edd6cc680adf04d5d12d7e845544f">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::getConstraintHandler()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#a8d14fcc84cd963a1f6d9d7c8477bd3ee">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::hasConstraintHandler()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#a6a27bddca6060f7861c49b05f8ec8435">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::mep_rng</a>, and <a class="el" href="_flags_8h.html#a6e41326253dee198183b5cbde3570c6c">SHARK_FEATURE_EXCEPTION</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_abstract_optimizer.html#aaa65e7eece1d248594253b799cf20e7a">shark::AbstractOptimizer&lt; PointType, ResultT, SolutionTypeT &gt;::init()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_rotated_objective_function.html#ac45c8de9fc95df81191d2bf766193abb">shark::benchmarks::RotatedObjectiveFunction::proposeStartingPoint()</a>, and <a class="el" href="classshark_1_1_evaluation_archive.html#a997a476a3869a1b8794133606aec94b4">shark::EvaluationArchive&lt; PointType, ResultT &gt;::proposeStartingPoint()</a>.</p>

</div>
</div>
<a id="afcb3e45b19bba4130989d7ae37200900" name="afcb3e45b19bba4130989d7ae37200900"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afcb3e45b19bba4130989d7ae37200900">&#9670;&#160;</a></span>setNumberOfObjectives()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::setNumberOfObjectives </td>
          <td>(</td>
          <td class="paramtype">std::size_t&#160;</td>
          <td class="paramname"><em>numberOfObjectives</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adjusts the number of objectives if the function is scalable. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">numberOfObjectives</td><td>The new number of objectives to optimize for. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z1.html#aa36f08cb83c8438b3d68c1b22c858f49">shark::benchmarks::DTLZ1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z2.html#a17742774250c5dcbd168b7238dc86cba">shark::benchmarks::DTLZ2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z3.html#ac172f9a4d5c1f23ffb35bdb2ef5c40f3">shark::benchmarks::DTLZ3</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z4.html#a3f6f58aa4c31e83754455222272036ee">shark::benchmarks::DTLZ4</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z5.html#a2f2bbf9806ae598b1f0fd98599de72c0">shark::benchmarks::DTLZ5</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z6.html#af13d3ed8ba1121f29a770ad519a397db">shark::benchmarks::DTLZ6</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z7.html#a7e6783833f09ba5d2de5472bf2fbffe6">shark::benchmarks::DTLZ7</a>, and <a class="el" href="classshark_1_1_evaluation_archive.html#aaa3d16da93398793cb0b1438d1ed3725">shark::EvaluationArchive&lt; PointType, ResultT &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00216">216</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="_exception_8h.html#a4e03d7dfdfe8cbc90447fa829fc09e4f">SHARKEXCEPTION</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_evaluation_archive.html#aaa3d16da93398793cb0b1438d1ed3725">shark::EvaluationArchive&lt; PointType, ResultT &gt;::setNumberOfObjectives()</a>.</p>

</div>
</div>
<a id="a4bdfc60abbe8548ba090bff096295b8f" name="a4bdfc60abbe8548ba090bff096295b8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4bdfc60abbe8548ba090bff096295b8f">&#9670;&#160;</a></span>setNumberOfVariables()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::setNumberOfVariables </td>
          <td>(</td>
          <td class="paramtype">std::size_t&#160;</td>
          <td class="paramname"><em>numberOfVariables</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adjusts the number of variables if the function is scalable. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">numberOfVariables</td><td>The new dimension. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="structshark_1_1benchmarks_1_1_ackley.html#a0a14b8c5b27624c7953fa01e0e594f3d">shark::benchmarks::Ackley</a>, <a class="el" href="structshark_1_1benchmarks_1_1_cigar.html#ab50e42294ea5f1b2d6f03068d3319df0">shark::benchmarks::Cigar</a>, <a class="el" href="classshark_1_1benchmarks_1_1_cigar_discus.html#a2174c3d672907da2a808eab8cb8e5e29">shark::benchmarks::CigarDiscus</a>, <a class="el" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b1.html#abd1671bf7df0847bb3a35e41d7eb6b3f">shark::benchmarks::CIGTAB1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b2.html#a945b3032f18ff14ee323af366cbe43db">shark::benchmarks::CIGTAB2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_constrained_sphere.html#a93ee871a11bc1dfb487f2f98bb0c7cfe">shark::benchmarks::ConstrainedSphere</a>, <a class="el" href="structshark_1_1benchmarks_1_1_diff_powers.html#a6ac9ff35e6859bd8691c1201dbd199bb">shark::benchmarks::DiffPowers</a>, <a class="el" href="structshark_1_1benchmarks_1_1_discus.html#a723a8b1736bc79e5f5ee3a9f6dd21efd">shark::benchmarks::Discus</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z1.html#a9b705752392171e88c5fc30d72e0fe0b">shark::benchmarks::DTLZ1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z2.html#ab3a98b7bf9aed8be1dc0e20b5d0ed9c2">shark::benchmarks::DTLZ2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z3.html#a6c5ba342ef6b84b7262ff89d02872e47">shark::benchmarks::DTLZ3</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z4.html#ad8068db643545c44e3ee8e4452f47927">shark::benchmarks::DTLZ4</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z5.html#a87a84eb1074c42742262798c3bebcdbe">shark::benchmarks::DTLZ5</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z6.html#a9c238ca026aa03406e7014c6bd3e77f7">shark::benchmarks::DTLZ6</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z7.html#abd3c1f0abf9314cc142b463728e453fe">shark::benchmarks::DTLZ7</a>, <a class="el" href="structshark_1_1benchmarks_1_1_ellipsoid.html#a70ef10cc06e38df4e393c971d6bc80ad">shark::benchmarks::Ellipsoid</a>, <a class="el" href="structshark_1_1benchmarks_1_1_fonseca.html#a83c3656d7e090e71639fd7824b08df38">shark::benchmarks::Fonseca</a>, <a class="el" href="structshark_1_1benchmarks_1_1_g_s_p.html#a3ffa87256f022adaf2ea5550fe82bbcc">shark::benchmarks::GSP</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r1.html#a7d7411aaf649d927553cb2d6156a03fa">shark::benchmarks::IHR1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r2.html#a3a5011b68b171bdc2be98af7341268dc">shark::benchmarks::IHR2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r3.html#a98623bb1e0c589311d7b7afa3407841d">shark::benchmarks::IHR3</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r4.html#abec78a694e72d39d504a7d825924c15f">shark::benchmarks::IHR4</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r6.html#ab2f79a4278218e5102d362747da8c5b6">shark::benchmarks::IHR6</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z1.html#abca225f6c07e9197a81387bd2b8a7956">shark::benchmarks::LZ1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z2.html#a0894f1c66ee4d1d5128c17c873914e48">shark::benchmarks::LZ2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z3.html#a99ba4f806ab92be2fea0bc45a94ed6bf">shark::benchmarks::LZ3</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z4.html#ac63798bae88bfb54ebc4238dc9d2a71c">shark::benchmarks::LZ4</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z5.html#a67f0adb7c9e7d5a8b28d0b480b88abd8">shark::benchmarks::LZ5</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z6.html#a51935e21dc6be70cdba62801cc18c935">shark::benchmarks::LZ6</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z7.html#a0bc46c9f0eece90a502842fb0f2b7109">shark::benchmarks::LZ7</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z8.html#a1781e54fe9d25e30cd1d48437136c1f3">shark::benchmarks::LZ8</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z9.html#a3f7fa209d4eb376eaadf50896f926e6c">shark::benchmarks::LZ9</a>, <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a77e1305d6328c831bf14df61c37cb648">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;</a>, <a class="el" href="structshark_1_1benchmarks_1_1_rosenbrock.html#afa34ef2350b0e4499bf512c983b47207">shark::benchmarks::Rosenbrock</a>, <a class="el" href="structshark_1_1benchmarks_1_1_rotated_objective_function.html#abf5df22a0f2c0810a6a0b89d5a69cf3e">shark::benchmarks::RotatedObjectiveFunction</a>, <a class="el" href="structshark_1_1benchmarks_1_1_schwefel.html#ad37c5048dd055c79cdfae395d73d7656">shark::benchmarks::Schwefel</a>, <a class="el" href="structshark_1_1benchmarks_1_1_sphere.html#ae0769a63a040ae2a53a3c16a3e3f4027">shark::benchmarks::Sphere</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t1.html#a4d209eae48ca91e0beed768aad6d4ae8">shark::benchmarks::ZDT1</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t2.html#a100b9743150d1dc27eec69c981073d45">shark::benchmarks::ZDT2</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t3.html#a29ba3e223e291dc0f8455834d313619d">shark::benchmarks::ZDT3</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t4.html#ad838c97f536e2865e41c9c1e93b3d39b">shark::benchmarks::ZDT4</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t6.html#a30584cda90fe58844c469b2c558af99d">shark::benchmarks::ZDT6</a>, <a class="el" href="classshark_1_1_one_norm_regularizer.html#a80a421b9bb057834c1f2d8d66e407a54">shark::OneNormRegularizer&lt; SearchPointType &gt;</a>, <a class="el" href="classshark_1_1_two_norm_regularizer.html#a814fa121947694cf749f61960317b27a">shark::TwoNormRegularizer&lt; SearchPointType &gt;</a>, <a class="el" href="structshark_1_1benchmarks_1_1_e_l_l_i1.html#a231e390ebdf2e75ef64cea15cbffb2ac">shark::benchmarks::ELLI1</a>, and <a class="el" href="structshark_1_1benchmarks_1_1_e_l_l_i2.html#aa2b9d8053bd55dcac7c91b47feb309fc">shark::benchmarks::ELLI2</a>.</p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00203">203</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="_exception_8h.html#a4e03d7dfdfe8cbc90447fa829fc09e4f">SHARKEXCEPTION</a>.</p>

<p class="reference">Referenced by <a class="el" href="structshark_1_1benchmarks_1_1_rotated_objective_function.html#abf5df22a0f2c0810a6a0b89d5a69cf3e">shark::benchmarks::RotatedObjectiveFunction::setNumberOfVariables()</a>.</p>

</div>
</div>
<a id="a3a287178b5b0b97c71bbffc80086ff00" name="a3a287178b5b0b97c71bbffc80086ff00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a287178b5b0b97c71bbffc80086ff00">&#9670;&#160;</a></span>setRng()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::setRng </td>
          <td>(</td>
          <td class="paramtype">random::rng_type *&#160;</td>
          <td class="paramname"><em>rng</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the Rng used by the objective function. </p>
<p>Objective functions need random numbers for different tasks, e.g. to provide a first starting point or for example mini batch learning where batches are chosen randomly. By default, <a class="el" href="namespaceshark_1_1random.html#ab5c1547eee483974d008d43f621a2234">shark::random::globalRng</a> is used. In a multi-threaded environment this might not be safe as the Rng is not thread safe. In this case, every thread should use its own Rng. </p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00190">190</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_objective_function.html#a6a27bddca6060f7861c49b05f8ec8435">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::mep_rng</a>.</p>

<p class="reference">Referenced by <a class="el" href="structshark_1_1benchmarks_1_1_rotated_objective_function.html#aade55634541439051253553179f9ed49">shark::benchmarks::RotatedObjectiveFunction::init()</a>, and <a class="el" href="classshark_1_1_evaluation_archive.html#a2256ac033c4c015346fc88197d9a42c9">shark::EvaluationArchive&lt; PointType, ResultT &gt;::init()</a>.</p>

</div>
</div>
<a id="a7f92098ce1e74c805f359b56893e78ed" name="a7f92098ce1e74c805f359b56893e78ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f92098ce1e74c805f359b56893e78ed">&#9670;&#160;</a></span>updateFeatures()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::updateFeatures </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00123">123</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="abcb65bca56cbfead4a3956e81d0d97d8" name="abcb65bca56cbfead4a3956e81d0d97d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abcb65bca56cbfead4a3956e81d0d97d8">&#9670;&#160;</a></span>m_constraintHandler</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_abstract_constraint_handler.html">AbstractConstraintHandler</a>&lt;<a class="el" href="classshark_1_1_abstract_objective_function.html#a59bfea031628e16737c66e7117eba7b5">SearchPointType</a>&gt; const* <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::m_constraintHandler</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00306">306</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_abstract_objective_function.html#a2b1a8af419059a542cb3d0848dd278a2">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::announceConstraintHandler()</a>, <a class="el" href="classshark_1_1_evaluation_archive.html#aa956ce92d2f105bc7d744519063b234d">shark::EvaluationArchive&lt; PointType, ResultT &gt;::EvaluationArchive()</a>, and <a class="el" href="classshark_1_1_abstract_objective_function.html#a714edd6cc680adf04d5d12d7e845544f">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::getConstraintHandler()</a>.</p>

</div>
</div>
<a id="af0942c072be06d0dd4da5ee7067c5777" name="af0942c072be06d0dd4da5ee7067c5777"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0942c072be06d0dd4da5ee7067c5777">&#9670;&#160;</a></span>m_evaluationCounter</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::size_t <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::m_evaluationCounter</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">mutable</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Evaluation counter, default value: 0. </p>

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00305">305</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_evaluation_archive.html#aa398b0fa85ebc951b7273248019247de">shark::EvaluationArchive&lt; PointType, ResultT &gt;::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b1.html#af7d09d2566ec74aa08430d5526917c88">shark::benchmarks::CIGTAB1::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b2.html#a1d8d400184b46a67c3cfdbf4cf425303">shark::benchmarks::CIGTAB2::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z1.html#a13f21cea920296bc36398c0233d8cb10">shark::benchmarks::DTLZ1::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z2.html#adfccd6983e3d97aa6dff155a39d3b96e">shark::benchmarks::DTLZ2::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z3.html#a3ea75f4b76209277713ce8c7541fc782">shark::benchmarks::DTLZ3::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z4.html#a577e9511af80602a98f3ae9b93b3f0ce">shark::benchmarks::DTLZ4::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z5.html#a175b0de1fbf7761468281a42153fd11e">shark::benchmarks::DTLZ5::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z6.html#a85667643cf16c10f8dd8f907eecdc735">shark::benchmarks::DTLZ6::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_d_t_l_z7.html#ab0caa54bb6167f4c36fc907373ba3562">shark::benchmarks::DTLZ7::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_e_l_l_i1.html#ad057f735d48694e4577bb3b664f5724b">shark::benchmarks::ELLI1::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_e_l_l_i2.html#aaf079391316c77a65ed34c9b557665ba">shark::benchmarks::ELLI2::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_fonseca.html#a2d635b3d70fe1fad575a4a9d9bf65a6b">shark::benchmarks::Fonseca::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_g_s_p.html#a10d5b471cd27155bbf91621fcdb0044b">shark::benchmarks::GSP::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r1.html#a6f4db8d88b5604f9884d0d00635ae82b">shark::benchmarks::IHR1::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r2.html#a26cb44d476ad02879012ba3394af9e84">shark::benchmarks::IHR2::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r3.html#a2768160840bd165202d5fbc4c41f8354">shark::benchmarks::IHR3::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r4.html#aaf4d03780a4727d33afada0d107a6d6a">shark::benchmarks::IHR4::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r6.html#ac2eb5c42866cf96fb6410647b340e32d">shark::benchmarks::IHR6::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z1.html#ab3df9ff40d44b994c26b22f6c57d61cd">shark::benchmarks::LZ1::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z2.html#ac3a3e0a29c605b03fcce8fc9b8519f49">shark::benchmarks::LZ2::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z3.html#a92c8d6c2777e0d0c776094b4595fa27b">shark::benchmarks::LZ3::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z4.html#ac423359461f0098ca2882e0dc1fcd7fa">shark::benchmarks::LZ4::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z5.html#af772638898076f3dffb0bcc79e267881">shark::benchmarks::LZ5::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z6.html#a4b067d6c7303c98b06e077a983f50058">shark::benchmarks::LZ6::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z7.html#a6945e16e5b914f43fcc52e925e08b819">shark::benchmarks::LZ7::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z8.html#ab3f4159d33c9062993e75bd555806fb3">shark::benchmarks::LZ8::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_l_z9.html#a41aec3ea071af00895eb7a3f8adbfc2c">shark::benchmarks::LZ9::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t1.html#a1ee1eb2e9b66e8b724828244c04a131e">shark::benchmarks::ZDT1::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t2.html#ad5986014a229ca617473aa69af2312bf">shark::benchmarks::ZDT2::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t3.html#a534fe1a312c3ea99400c1aaf0eb45154">shark::benchmarks::ZDT3::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t4.html#ad3a074444b700140010cf35284afb06f">shark::benchmarks::ZDT4::eval()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_z_d_t6.html#ad309637e4588aeab20d0765ccc111752">shark::benchmarks::ZDT6::eval()</a>, <a class="el" href="classshark_1_1_error_function.html#a23d586d7201fa0c9db910e2d935f7dfe">shark::ErrorFunction&lt; SearchPointType &gt;::eval()</a>, <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#abf89308463d5531a8e131c106abed7fe">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;::eval()</a>, <a class="el" href="classshark_1_1_evaluation_archive.html#a8799c0f6863bd80086fb1db661432200">shark::EvaluationArchive&lt; PointType, ResultT &gt;::evalDerivative()</a>, <a class="el" href="classshark_1_1_evaluation_archive.html#ae9a5a5832825e2087b7fb586576dde0e">shark::EvaluationArchive&lt; PointType, ResultT &gt;::evalDerivative()</a>, <a class="el" href="classshark_1_1_error_function.html#a4a037354234ee0898c8a77339c1477d6">shark::ErrorFunction&lt; SearchPointType &gt;::evalDerivative()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#afaa9cc39ccb4d74a0d6db0ae2d087051">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::evaluationCounter()</a>, and <a class="el" href="classshark_1_1_abstract_objective_function.html#abe4776a85c4ce622c25f3290fa1395d1">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::init()</a>.</p>

</div>
</div>
<a id="ad8888c58fd3f98e73013afb5dd4b2af1" name="ad8888c58fd3f98e73013afb5dd4b2af1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8888c58fd3f98e73013afb5dd4b2af1">&#9670;&#160;</a></span>m_features</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_abstract_objective_function.html#a015ecb970cd0f5dac73e727fdcc0afec">Features</a> <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::m_features</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00123">123</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_abstract_objective_function.html#a0f32ae97885db58f9602191d64284f98">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::AbstractObjectiveFunction()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#a2b1a8af419059a542cb3d0848dd278a2">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::announceConstraintHandler()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#aa190c3699e653df3f054b0b3d753270e">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::canProposeStartingPoint()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#a499c48a9afe9e77e866af66c0cb4f396">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::canProvideClosestFeasible()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b1.html#a62c45d636c14e296c4f6827f767415cf">shark::benchmarks::CIGTAB1::CIGTAB1()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b2.html#a378f97988070d1eb7a190f29eac23466">shark::benchmarks::CIGTAB2::CIGTAB2()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_e_l_l_i1.html#a5fe3516d39d0bcf4ff94b68f649812fa">shark::benchmarks::ELLI1::ELLI1()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_e_l_l_i2.html#ae8dec8fa3a632a623ef2a8d36426ddfb">shark::benchmarks::ELLI2::ELLI2()</a>, <a class="el" href="classshark_1_1_error_function.html#aee0d9267985a8742305477a0701ca9bc">shark::ErrorFunction&lt; SearchPointType &gt;::ErrorFunction()</a>, <a class="el" href="classshark_1_1_error_function.html#aa240c92f5dbf5a5ccdc245843a81a0e6">shark::ErrorFunction&lt; SearchPointType &gt;::ErrorFunction()</a>, <a class="el" href="classshark_1_1_error_function.html#a53d7766a61d4ccf85d684bfe2d6e4585">shark::ErrorFunction&lt; SearchPointType &gt;::ErrorFunction()</a>, <a class="el" href="classshark_1_1_evaluation_archive.html#aa956ce92d2f105bc7d744519063b234d">shark::EvaluationArchive&lt; PointType, ResultT &gt;::EvaluationArchive()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#a8d14fcc84cd963a1f6d9d7c8477bd3ee">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::hasConstraintHandler()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#aec3465e02d80e79445df299cf8531fcc">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::hasFirstDerivative()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#a9f5d2c0fa504de1e3b5a66363c826f08">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::hasSecondDerivative()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#a7d4be77b4100781bbd7ca50bcf68c94f">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::hasValue()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#a2a03eac74b7cac35c5d510ab12599393">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::isConstrained()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#a80a63b56c111cd7c65e5b264c9d84bac">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::isNoisy()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#a3b418f50d0e284fe10c92a1c719d5615">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::isThreadSafe()</a>, <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a39645b08e34005008946482748022d64">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;::MultiObjectiveBenchmark()</a>, <a class="el" href="classshark_1_1_one_norm_regularizer.html#aee264882401214ab78b0201abee5f666">shark::OneNormRegularizer&lt; SearchPointType &gt;::OneNormRegularizer()</a>, <a class="el" href="classshark_1_1_error_function.html#a4e4d6012adc12139b7757ed9b1933a76">shark::ErrorFunction&lt; SearchPointType &gt;::operator=()</a>, and <a class="el" href="classshark_1_1_two_norm_regularizer.html#a87dd7e7fbc9cc385a253cf663c769143">shark::TwoNormRegularizer&lt; SearchPointType &gt;::TwoNormRegularizer()</a>.</p>

</div>
</div>
<a id="a6a27bddca6060f7861c49b05f8ec8435" name="a6a27bddca6060f7861c49b05f8ec8435"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a27bddca6060f7861c49b05f8ec8435">&#9670;&#160;</a></span>mep_rng</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , typename ResultT &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">random::rng_type* <a class="el" href="classshark_1_1_abstract_objective_function.html">shark::AbstractObjectiveFunction</a>&lt; PointType, ResultT &gt;::mep_rng</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_abstract_objective_function_8h_source.html#l00307">307</a> of file <a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b1.html#aca3944500a5ff641a6953779d1a9ddcc">shark::benchmarks::CIGTAB1::init()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b2.html#a378192b95c616850fa29789990702ff7">shark::benchmarks::CIGTAB2::init()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_e_l_l_i1.html#abc954f9ae65aceeb13cf8872765c2282">shark::benchmarks::ELLI1::init()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_e_l_l_i2.html#a77dcade2f01cddb4879bb472ee00f3be">shark::benchmarks::ELLI2::init()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r1.html#a12b03c97f5968b029df2deb6f798182f">shark::benchmarks::IHR1::init()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r2.html#ac577de4262b28f14877642b2853b82e4">shark::benchmarks::IHR2::init()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r3.html#a5790f2cce54e8082b1609d51b78063e2">shark::benchmarks::IHR3::init()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r4.html#af35dea9eca62492c70f9fd081b401f01">shark::benchmarks::IHR4::init()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_i_h_r6.html#aaf5b811324aac739602144691c8984ae">shark::benchmarks::IHR6::init()</a>, <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a542adb82f194ccc98c4f63b27fe2b5d1">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;::init()</a>, <a class="el" href="classshark_1_1_error_function.html#a6ba22ddebbfc72a20503c9089e59abe8">shark::ErrorFunction&lt; SearchPointType &gt;::init()</a>, <a class="el" href="classshark_1_1_evaluation_archive.html#a2256ac033c4c015346fc88197d9a42c9">shark::EvaluationArchive&lt; PointType, ResultT &gt;::init()</a>, <a class="el" href="classshark_1_1_abstract_objective_function.html#acd2922036a6388fde1173490079bb22b">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::proposeStartingPoint()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b1.html#a6111aa5a41a5c9f602df42e248789d5e">shark::benchmarks::CIGTAB1::proposeStartingPoint()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_c_i_g_t_a_b2.html#a211035af2383fc2e8de1e345932dae0e">shark::benchmarks::CIGTAB2::proposeStartingPoint()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_e_l_l_i1.html#a6076013de21bd58a9ae061425ea8a2e2">shark::benchmarks::ELLI1::proposeStartingPoint()</a>, <a class="el" href="structshark_1_1benchmarks_1_1_e_l_l_i2.html#a4309b3cf58d96223d42cd9087bbba6c6">shark::benchmarks::ELLI2::proposeStartingPoint()</a>, <a class="el" href="classshark_1_1benchmarks_1_1_multi_objective_benchmark.html#a85f5750d889d29fd9cffaa3406a8a166">shark::benchmarks::MultiObjectiveBenchmark&lt; Objectives &gt;::proposeStartingPoint()</a>, and <a class="el" href="classshark_1_1_abstract_objective_function.html#a3a287178b5b0b97c71bbffc80086ff00">shark::AbstractObjectiveFunction&lt; PointType, ResultT &gt;::setRng()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/shark/ObjectiveFunctions/<a class="el" href="_abstract_objective_function_8h_source.html">AbstractObjectiveFunction.h</a></li>
</ul>
</div><!-- contents -->
</div>
</body>
</html>
